Environmental management systems including mobile robots and methods using same

ABSTRACT

A mobile robot includes a microprocessor connected to a memory and a wireless network circuit, for executing routines stored in the memory and commands generated by the routines and received via the wireless network circuit. The microprocessor drives the mobile robot to a multiplicity of accessible two dimensional locations within a household, and commands an end effector, including at least one motorized actuator, to perform mechanical work in the household. A plurality of routines include a first routine which monitors a wireless local network and detects a presence of a network entity on the wireless local network, a second routine which receives a signal from a sensor detecting an action state of one of the network entities, the action state changeable between waiting and active, and a third routine which commands the end effector to change state of performing mechanical work based on the presence and on the action state.

RELATED APPLICATION(S)

The present application claims the benefit of and priority from U.S.Provisional Patent Application No. 61/754,319 entitled “EnvironmentalManagement Systems Including Mobile Robots And Methods Using Same” filedJan. 18, 2013, U.S. Provisional Patent Application No. 61/772,940entitled “Environmental Management Systems Including Mobile Robots AndMethods Using Same” filed Mar. 5, 2013, and U.S. Utility applicationSer. No. 14/046,940 entitled “Environmental Management Systems IncludingMobile Robots And Methods Using Same” filed Oct. 5, 2013, thedisclosures of which are incorporated herein by reference in theirentireties.

FIELD OF THE INVENTION

The present invention relates to mobile robots and, more particularly,to systems and methods including the same.

BACKGROUND OF THE INVENTION

Connectivity (i.e., wireless connection to the Internet and remoteclients) has been contemplated for household appliances for some time.

Recently, the term “Internet of Things” has come to represent the ideathat household articles of all kinds can be connected to the publicInternet. Once connected, such articles can report various data toserver and client devices. For example, one idea is to connect ‘smart’light bulbs to household WAN (Wireless Area Network). Each light bulbwould have a microprocessor, memory, some means of detecting orinterpreting status, power, and a wireless connection. Using thesecomponents, the light bulb can report its status, can be polled, etc.

The concept is broad, and generally is only distinct from householdconnectivity in general (e.g., computers, cable boxes, media devices,and the like) in that the Internet of Things articles are not normallyconsidered to include sufficient computing resources or communicationsto meaningfully connect to the public Internet. A conventionalrefrigerator would not connect to the Internet; the same device as an“Internet of Things” article would include computational, sensor, andcommunications hardware and sufficient software to become an entityaddressable remotely and locally; the expectation being that thisInternet Fridge could report its various states (power consumption orthe like) and respond to remote commands (increase or decrease internaltemperature).

Household mobile robots may also become “Internet of Things” articles.In some ways, household mobile robots are a distinct species within thisset—generally, speaking, the autonomy of the household mobile robot setsit apart from other appliances. No other appliance performs in anunpredictable and variable environment. No other appliance makes amultiplicity of autonomous decisions based on tens or hundreds of sensorinputs in order to achieve mission completion.

A dishwasher—even an Internet of Things dishwasher—does not knowanything about is contents and runs the equivalent of simple scriptscontrolling motors and pumps, potentially interrupted by simple clog orother sensors. An iRobot® Roomba® vacuuming robot, during the course ofits mission, may detect its own state in numerous ways, and may flexiblyescape from challenging situations in the household, as well as engagein predictive and planning activities.

There exist many unmet challenges in the integration of the rich andautonomous behavior of a household mobile robot with the core conceptsof “Internet of Things” connectivity.

SUMMARY OF EMBODIMENTS OF THE INVENTION

According embodiments of the present invention, or according to aninvention disclosed herein, a mobile robot includes a microprocessorconnected to a memory and a wireless network circuit, for executingroutines stored in the memory and commands generated by the routines andreceived via the wireless network circuit. The mobile robot includesdriven wheels commandable by the microprocessor to reach a multiplicityof accessible two dimensional locations within a household, and an endeffector, including at least one motorized actuator, commandable by themicroprocessor to perform mechanical work in the household, themicroprocessor executing a plurality of routines. The plurality ofroutines include a first routine which monitors a wireless local networkby communicating with the wireless network circuit, and detects apresence state of one or more network entities on the wireless localnetwork, a second routine which receives a signal from a sensor, thesensor detecting an action state of one of the network entities, theaction state changeable between waiting and active, and a third routinewhich commands the end effector to change state of performing mechanicalwork based on the presence and on the action state detected by the firstand second routines.

In some embodiments, or in an invention disclosed herein, the firstroutine detects the presence state of a mobile device on the wirelesslocal network, and the second routine receives a signal from a callstate sensor in the mobile device, the sensor detecting the call stateof the mobile device as the action state, the call state changeablebetween call readiness and call received. In embodiments, or in aninvention disclosed herein, the signal received by the second routine issent from a monitoring application running on the mobile device. Inembodiments, or in an invention disclosed herein, the end effector isthe cleaning head of the mobile robot. In embodiments, or in aninvention disclosed herein, the third routine commands the cleaning headof the robot to change state of cleaning, based on the presence of themobile device on the wireless local network and on the call state of themobile device as the action state.

In embodiments, or in an invention disclosed herein, when the mobiledevice receives a call, the call state changes from waiting to active.In some embodiments, or in an invention disclosed herein, the state ofcleaning is changed from the motorized actuator being powered to off,and in other embodiments, or in an invention disclosed herein, the stateof cleaning is changed from the motorized actuator operating full powerto operating at a low power, low decibel state. In embodiments, a fullpower state represents the motorized actuator operating a vacuum fan ora roller element of the cleaning head at full speed and a lower powerstate represents the motorized actuator operating the vacuum fan orroller element of the cleaning head a lower speed.

In other embodiments, or in an invention disclosed herein, the signalreceived by the second routine is sent from a sensor on the mobilerobot. In some examples, the sensor on the mobile robot is an audiosensor for hearing the call signal. In other examples, the sensor on themobile robot is a radio receiver for detecting a radio frequency signalindicative of a phone call. In some embodiments, or in an inventiondisclosed herein, the sensor signaling receipt of a call is a singlesensor or a combination of sensors on the mobile device, such as anaccelerometer measuring the motion associated with raising a telephonicdevice to an ear, a proximity sensor for measuring the proximity of thetelephonic device to a listener's head, a vibration actuator or sensorfor causing or detecting a vibration indicative of a ring, and amicrophone on the phone for audibly detecting a ring.

In some embodiments, or in an invention disclosed herein, the firstroutine detects the presence state of a mobile device on the wirelesslocal network, and the second routine receives a signal from a cleaningreadiness sensor in the mobile robot, the sensor detecting the cleaningreadiness state of the mobile robot as the action state, the cleaningreadiness state changeable between cleaning readiness and cleaningactive. In embodiments, or in an invention disclosed herein, the mobilerobot executes a monitoring behavior for monitoring the cleaningreadiness. In some embodiments, the cleaning readiness is a power chargeof the mobile robot, and in other embodiments, the cleaning readiness isa stasis state of the mobile robot. In embodiments, or in an inventiondisclosed herein, the end effector is the cleaning head of the mobilerobot, the cleaning readiness is a stasis state, and the motorizeactuator is stationary in a stasis state.

In some embodiments, or in an invention disclosed herein, the thirdroutine which commands the cleaning head of the robot to change state ofcleaning based on the presence of the mobile device on the wirelesslocal network and on the cleaning readiness state of the mobile robot asthe action state.

One advantage of a mobile robot receiving a signal indicative of thepresence of an occupant, as determined by their mobile device appearingon the local network, is that the mobile robot autonomously responds topresence. In some embodiments, the mobile robot independently monitorsthe local network for the presence of one or more mobile device, and inother embodiments, the mobile device enters the network and notifies themobile robot of its presence through an application, or set ofexecutable commands running on the mobile device processor forwirelessly communicating instructions to the mobile robot.

The mobile robot will automatically launch and execute a mission, forexample, a cleaning mission, if the mobile device is not on the networkand the mobile robot ready, for example if a mobile robot battery ischarged. The mobile robot will automatically drive away from anoccupant, quiet itself, or turn off its power supply to quiet the robotwhen an occupant takes a phone call. The mobile robot therefore behavesin a smart way by interrupting its mission so that the occupant can heara caller on the mobile device without background noise interference. Inembodiments, or in an invention disclosed herein, the mobile robotretreats from an occupant holding a mobile device or the mobile robotquiets its motorized actuators, such as those for actuating the vacuumfan, those for actuating the drive wheels and those for actuating one ormore cleaning head rollers. The mobile robot monitors the call stateand, in embodiments, monitors for the radio frequency indicative of acall. When the call has ended, the mobile robot autonomously returns towhere it discontinued its mission and completes coverage of that room.The mobile robot, therefore, completes its mission throughout the livingspace while accommodating for the presence of an occupant and for thereceipt of a call on a mobile device.

In some embodiments of the present invention, or in an inventiondisclosed herein, a mobile robot includes a microprocessor connected toa memory and a wireless network circuit, for executing routines storedin the memory and commands generated by the routines and received viathe wireless network circuit. The mobile robot includes driven wheelscommandable by the microprocessor to reach a multiplicity of accessibletwo dimensional locations within a household, and a cleaning head,including at least one motorized actuator, commandable by themicroprocessor to perform mechanical work in the household, themicroprocessor executing a plurality of routines. The plurality ofroutines include a first routine which monitors a wireless local networkby communicating with the wireless network circuit, and detects apresence state of one or more mobile devices on the wireless localnetwork, a second routine which receives a signal from a call statesensor in a mobile device, the sensor detecting a call state of themobile device, the call state changeable between call readiness and callreceived, and a third routine which commands the motorized actuator ofthe cleaning head to change state of performing mechanical work based onthe presence of the mobile device on the wireless local network and onthe call state of the mobile device detected by the first and secondroutines.

In embodiments, or in an invention disclosed herein, the signal receivedby the second routine is sent from a monitoring application running onthe mobile device.

In some embodiments of the present invention, or according to aninvention disclosed herein, a mobile robot includes a microprocessorconnected to a memory and a wireless network circuit, for executingroutines stored in the memory and commands generated by the routines andreceived via the wireless network circuit. The mobile robot includesdriven wheels commandable by the microprocessor to reach a multiplicityof accessible two dimensional locations within a household, and acleaning head, including at least one motorized actuator, commandable bythe microprocessor to perform mechanical work in the household, themicroprocessor executing a plurality of routines. The plurality ofroutines include a first routine which monitors a wireless local networkby communicating with the wireless network circuit, and detects apresence state of a mobile device on the wireless local network, asecond routine which receives a signal from a cleaning readiness sensorin the mobile robot, the sensor detecting the cleaning readiness stateof the mobile robot, the cleaning readiness state changeable betweencleaning readiness and cleaning active, and a third routine whichcommands the cleaning head of the robot to change state of cleaningbased on the presence of the mobile device on the wireless local networkand on the cleaning readiness state of the mobile robot as detected bythe first and second routines.

In embodiments, or in an invention disclosed herein, the mobile robotexecutes a monitoring behavior for monitoring the cleaning readiness. Insome embodiments, or in an invention disclosed herein, the cleaningreadiness is a power charge of the mobile robot, and in otherembodiments, or in an invention disclosed herein, the cleaning readinessis a stasis state. In embodiments, or in an invention disclosed herein,the end effector is the cleaning head of the mobile robot, the cleaningreadiness is a stasis state, and the motorized actuator is stationary ina stasis state.

According to embodiments, or in an invention disclosed herein, a mobilerobot includes a microprocessor connected to a memory and a wirelessnetwork circuit, for executing routines stored in the memory andcommands generated by the routines and received via the wireless networkcircuit. The mobile robot further includes driven wheels commandable bythe microprocessor to reach a multiplicity of accessible two dimensionallocations within a household, and an environmental sensor readable bythe microprocessor, the microprocessor executing a plurality ofroutines. The plurality of routines include a first routine whichcommands the driven wheels to move the robot about the household, asecond routine which takes sensor readings at a plurality of theaccessible two dimensional locations within the household, and a thirdroutine which, based on the sensor readings throughout the household,sends data to a network entity having a dedicated environmental sensorresulting in the activation of a motorized actuator on the networkentity to perform mechanical work in the household, despite thededicated environmental sensor reading alone determining otherwise.

In embodiments, or in an invention disclosed herein, the mobile robotmoves about the household on a primary mission and simultaneouslycollects environmental sensor readings as a secondary mission. In someembodiments the primary mission is a cleaning mission.

In embodiments, or in an invention disclosed herein, the sensor readingstaken at the plurality of accessible two dimensional locations withinthe household are environmental sensor readings. In some embodiments,the environmental sensor is an air quality sensor, and in otherembodiments, the environmental sensor is a humidity sensor. In someembodiments, the environmental sensor is a temperature sensor.

In some embodiments, or in an invention disclosed herein, the networkentity is a humidifier.

In some embodiments, or in an invention disclosed herein, the networkentity is an air purifier.

In some embodiments, or in an invention disclosed herein, the networkentity is a thermostat.

In some embodiments, or in an invention disclosed herein, the sensorreadings taken at the plurality of two dimensional locations within thehousehold populate a two dimensional map of sensor readings within thehousehold, the two dimensional map displayed on a human machineinterface device in communication with the mobile robot over thenetwork.

In some embodiments, or an invention disclosed herein, the sensorreadings taken at the plurality of two dimensional locations within thehousehold populate a three-dimensional map of sensor readings within thehousehold, human machine interface device in communication with themobile robot over the network.

Network entities, such as thermostats, air purifiers and humidifiers,are stationary and typically located at one or two locations throughouta living space and the stationary sensors therein measure relativelylocalized air currents at that particular singular, unchanging location.The primary advantage of the mobile robot is accessing locations distantfrom or in another compartment or room not immediately adjacent thenetwork entities. By mapping measurements throughout a living space, themobile robot determines whether, based on a single reading taken in alocation remote from the network entity or based on an aggregate ofreadings taken randomly or systematically throughout the living space, astationary network entity should be activated. Based on a plurality ofmeasurements taken throughout a living space, the mobile robot activatesa network entity even when the environmental sensor reading of thenetwork entity indicates otherwise at its singular, unchanging point oflocation. The network entity's dedicated sensor measures only theimmediate volume adjacent the network entity and fails to account forvariations in a volume of air mass spread throughout a living space. Bymonitoring and measuring temperature, air quality and humiditythroughout the living space, the mobile robot provides informationotherwise inaccessible by the network entity.

In embodiments, or in an invention disclosed herein, a mobile robotincludes a controller in communication with a drive system and aprocessor, the drive system configured to move the mobile robot about aspace comprising a plurality of rooms. The mobile robot further includesa memory accessible by the controller, the memory retaining a uniqueroom identifier associated with a room within the space traversed by themobile robot and an associated score of at least one measurablecharacteristic associated with the room, the score being calculated bythe processor following at least one traversal of the space, and theprocessor being capable of modifying the score based on changes to theat least one measurable characteristic between traversals of the spaceor one or more of the plurality of MOMS.

In embodiments, or in an invention disclosed herein, the mobile robotfurther includes an onboard robot sensor configured to measure the atleast one measurable characteristic throughout the room or roomstraversed by the mobile robot. In embodiments, or in an inventiondisclosed herein, the unique room identifier is a two-dimensionalcoordinate locatable by the robot within the space. In embodiments, orin an invention disclosed herein, the score is stored in the memory ofthe mobile robot or in a remote memory storage medium accessible by theprocessor, such as a cloud storage server or a wirelessly accessiblemobile device memory.

In embodiments, or in an invention disclosed herein, a plurality ofscores are associated with a unique room identifier and a plurality ofonboard robot sensors for measuring the plurality of measurablecharacteristics. In embodiments, or in an invention disclosed herein,the mobile robot receives one or more sensor measurements from astationary sensor node with the space, the mobile robot and the sensornode being in wireless communication. In some embodiments, or in aninvention disclosed herein, the mobile robot receives an input parameterrelated to the measurable characteristic and determines an order of aportion or all of the plurality of rooms to traverse based on the inputparameter and a score associated with the measurable characteristic ofeach room.

In some embodiments, or in an invention disclosed herein, the mobilerobot further includes at least one localizing sensor that observessensor readings from objects within the space, for determining a currentpose of the mobile robot with reference to the observed objects. Themobile robot associates a pose with a room identifier specificallyassociated with the observed objects stationed in the room.

In some embodiments, or in an invention disclosed herein, the at leastone measurable characteristic is time to complete cleaning of a room andthe sensor is a clock. In some embodiments, or in an invention disclosedherein, the at least one measurable characteristic is mission completionand the sensor is a dirt detect sensor for determining dirtiness of theroom relative to other rooms having unique room identifiers based on thescore of the dirt detection measurement in each room. In someembodiments, or in an invention disclosed herein, the at least onemeasurable characteristic is occupancy status, and the sensor is anoccupancy sensor. In embodiments, or in an invention disclosed herein,the occupancy sensor is a passive infrared sensor and in someembodiments, or in an invention disclosed herein, the occupancy sensoris an RSSI sensor for determining signal strength of a radio frequencyemitted from a mobile device.

Stationary appliances, such as thermostats, air purifiers andhumidifiers, are typically located at only one or two locationsthroughout a living space and the stationary sensors therein measurerelatively localized air currents or occupancy status. The primaryadvantage of the mobile robot is accessing locations distant from or inanother compartment or room not immediately adjacent the networkentities. By mapping measurements throughout a living space, the robotcan calculate a highest reading of measurements or aggregate reading ofmeasurements to calculate a score for the room. By monitoring andmeasuring throughout the living space, the mobile robot providesinformation otherwise inaccessible by the stationary appliance. Becausethe mobile robot makes multiple runs throughout a space, covering one ormore room or rooms in each run, the mobile robot is able to learn howlong it takes to clean each room individually and how long it takes toclean multiple rooms in the space.

In embodiments, or in an invention disclosed herein, the mobile robotcan access the room scores or measured parameters to clean on or morerooms depending on the amount of time available for cleaning. Thecleaning time can be received in a request to clean, stored in acleaning schedule or accessed through native calendar integration overthe network. The mobile robot therefore autonomously selects which roomor rooms to clean based on the amount of time available and, in someembodiments, or in an invention disclosed herein, based on a score ofwhich room or rooms are the dirtiest. In embodiments, or in an inventiondisclosed herein, the mobile robot measures the time to clean a room,the occupancy frequency and the dirtiness of the room as represented bya relative score among all the rooms traversed by the robot. Inembodiments, or in an invention disclosed herein, the mobile robotmeasures the time to clean a room, the occupancy frequency or thedirtiness of the room as represented by a relative score among all therooms traversed by the robot. By traversing the living space, the mobilerobot learns the behaviors of the occupants and tailors missions to thebehaviors of the occupants.

According to an embodiment, or in an invention disclosed herein, amobile robot includes a microprocessor connected to a memory and awireless network circuit, for executing routines stored in the memoryand commands generated by the routines and received via the wirelessnetwork circuit. The mobile robot includes driven wheels commandable bythe microprocessor to reach a multiplicity of accessible two dimensionallocations within a household. The mobile robot further includes alocalizing circuit, with at least one localizing sensor that observessensor readings from objects within the household, for determining acurrent pose of the mobile robot with reference to the observed objects,the microprocessor executing a plurality of routines. The plurality ofroutines include, a navigation routine which commands the driven wheelsto move the robot about the household, a surface mapping routine thataccumulates observations from the localizing circuit to record a twodimensional array representing possible locations of the mobile robot, amission time estimate routine that accumulates timed readings from thelocalizing circuit and determines at least one estimated completion timespan for the mobile robot to substantially cover a surface areacorresponding to a contiguous set of possible locations within the twodimensional array, and a mission pre-planning routine that compares atarget completion time to the at least one estimate completion timespan, and commands the driven wheels to begin covering a the surfacearea sufficiently in advance of the target completion time for the atleast one estimated completion time to pass, so that the surface area issubstantially covered before the target completion time.

In embodiments, or in an invention disclosed herein, the missionpre-planning routine further comprising identifying a target completiontime and launching the robot autonomously based on knowing an occupancyschedule of the household. In embodiments, or in an invention disclosedherein, the occupancy schedule is directly input to the mobile robot atuser interface display. In some embodiments, or in an inventiondisclosed herein, the occupancy schedule is wirelessly transmitted tothe mobile robot from a remote human machine interface in wirelesscommunication with the robot. In other embodiments, or in an inventiondisclosed herein, the occupancy schedule is wirelessly transmitted tothe mobile robot through native calendar integration. In embodiments, orin an invention disclosed herein, the mobile robot monitors and learnsthe occupancy schedule over a period or periods of time and sets thetarget completion time based on the learned occupancy schedule. In someembodiments, or in an invention disclosed herein, the mobile robotlearns the occupancy schedule over a period of time and identifies oneor more occupancy patterns and sets the target completion time based onthe one or more learned occupancy patterns.

According to an embodiment, or in an invention disclosed herein, amobile robot includes a microprocessor connected to a memory and awireless network circuit, for executing routines stored in the memoryand commands generated by the routines and received via the wirelessnetwork circuit. The mobile robot further includes driven wheelscommandable by the microprocessor to reach a multiplicity of accessibletwo dimensional locations within a household, and an environmentalsensor readable by the microprocessor to take current readings of anenvironmental quality. The mobile robot additionally includes alocalizing circuit, with at least one localizing sensor that observessensor readings from objects within the household, for determining acurrent pose of the mobile robot with reference to the observed objects,the microprocessor executing a plurality of routines. The plurality ofroutines include a navigation routine which commands the driven wheelsto move the robot about the household, a surface mapping routine thataccumulates observations from the localizing circuit to record a twodimensional array representing possible locations of the mobile robot,an environmental mapping routine that takes and accumulates readingsfrom the environmental sensor at a plurality of the accessible twodimensional locations within the household and causes the memory tostore a three dimensional array based on the readings and on the twodimensional array representing possible locations of the mobile robot;and a location-responsive environmental control routine. Thelocation-responsive environmental control routine correlates the threedimensional array to locations of a plurality of home environmentalcontrol nodes, each home environmental control node having a dedicatedenvironmental sensor and a control channel to actuate a motorizedactuator to perform mechanical work within the household, and based on aproximity of at least one control node to an environmental mappinglocation represented in the three dimensional array, sends data to causethe at least one environmental control node to perform mechanical workin the household.

According to an invention or set of inventions disclosed herein, anenvironmental controller panel (e.g., a thermostat, humidifiercontroller with humidity sensing, or air purifier with air qualitysensing) includes a housing within which are one or more environmentalsensors (e.g., electronic thermometer, barometer, humidity or moisturesensor, gas detector such as VOC, CO or CO2, or airborne particulatecounter) to provide environmental sensor measurements (e.g.,temperature, air pressure, humidity, air quality), and a processor inoperative communication with the sensor(s) to receive the environmentalsensor measurements. The environmental controller panel is in operativecommunication with one or more input devices having a user interface(e.g., a local display and input, or a remote user application on asmartphone) for setting or otherwise determining a setpointenvironmental quality (e.g., a setpoint temperature, air pressure,humidity, air quality) and an environmental control actuator thatperforms work (e.g., HVAC, humidity control, and air purifying systemswhich displace fluids, including air, to effect change in a respectiveenvironmental quality toward the setpoint).

According to one invention having the environmental control panelstructure, based on a comparison of a determined ambient environmentalmeasurement taken by the environmental sensor in or on the housing andthe setpoint environmental quality, the processor is configured tosample remote environmental sensor measurements from roaming orotherwise traveling mobile robot within the household, also in operativecommunication with the processor, where the mobile robot bears a similaror same environmental sensor(s) of same or similar capabilities,determine that the measurement(s) from the housing's measurement siteare displaced from an plurality of, average, selected, or representativemeasurement taken from a plurality of sites within the ambientenvironment by the mobile robot, and compensate for the displacement bycommanding a respective environmental control actuator to perform workto effect a change in the respective environmental quality toward thesetpoint at least in part in accordance with the measurement(s) by themobile robot.

According to another invention having the environmental control panelstructure, the environmental control panel includes a wireless networkinterface in operative communication with the processor, and anaway-state feature in which the environmental control panel enters intoan away-state mode of operation upon a determination by the processorbased on remote readings acquired by at least sensor (e.g., active orpassive infrared, audible sound and/or ultrasonic sound, camera, RFRSSI, capable of sensing a person or a quality indicative of a person,such as clothing colors or local personal handset RF or network presenceor traffic, or signals from household devices such as IR remotecontrols) installed in one or both of (i) a roaming or otherwisetraveling mobile robot within the household, or (ii) a mobile handsetscanned to be present on a local wireless network by the wirelessnetwork interface, that an away-state criterion indicative of anon-occupancy condition for an household in which the environmentalcontrol panel has been installed has been satisfied, the away-state modeof operation including an automated setpoint environmental qualitysetback mode; wherein the processor determines without requiring userinput to activate the away-state feature, by receiving the remotereadings during a trial period; comparing information derived from thetrial period readings to a threshold criterion to establish whethersufficiently true indications of occupancy conditions are satisfied bythe remote readings during the trial period; and enabling the away-statefeature if it is determined that the sufficiently true indications weresensed during the trial period.

In an adaptation or variation of these inventions including theenvironmental control panel structure, a model of occupancy is based inpart on information of the household and/or the expected occupants ofthe household derived from the remote readings, and an occupancypredictor predicts future occupancy of the household based at least inpart on the model and the remote readings. Based on, in particular,mapped environmental, floor coverage, and area provided by the mobilerobot readings, the model is an a priori stochastic model of humanoccupancy, such as a Bayesian Network or Markov Model variant, includingone or more statistical profiles, based at least in part on geometricaland structural data about the household provided at least in part by themobile robot readings taken in untethered free space within the livingarea (i.e., not in fixed positions along walls or in other stationaryinstallations).

In a further adaptation or variation of these inventions including theenvironmental control panel structure, the mobile robot readings and/ormobile handset remote readings are used to verify, validate, or check adecision made by the environmental control panel based on the stationaryenvironmental quality or occupancy sensors attached to one or moreenvironmental control panels.

According to an additional invention disclosed herein, a method ofcompensating for local errors caused by direct environmental influenceon a control panel operating pursuant to feedback based on an attachedenvironmental sensor includes, comparing a determined ambientenvironmental measurement taken by the environmental sensor in or on thepanel and a setpoint environmental quality, sampling a remoteenvironmental sensor measurement from a roaming or otherwise travelingmobile robot within the household, determining that the measurement(s)from the panel's measurement site are displaced from a similarlyrepresentative measurement taken from a plurality of sites within theambient environment by the mobile robot, and compensating for thedisplacement by commanding a respective environmental control actuatorto perform work to effect a change in the respective environmentalquality toward the setpoint at least in part in accordance with themeasurement(s) by the mobile robot.

According to an embodiment, or in an invention disclosed herein, amobile robot in communication with a network. The mobile robot includesa controller in communication with a drive system, the drive systemconfigured to move the mobile robot about a living space; and a receiverfor a receiving a command from mobile device located in the living spacein communication with the network, the mobile device including aninteractive application for controlling the state of the mobile robotbased on the spatial location of the mobile device relative to themobile robot and/or based on the operating state of the mobile device.The mobile robot controller alters the status of the drive system inresponse to the received command.

According to an embodiment, or in an invention disclosed herein, amobile robot in communication with a network. The mobile robot includesa controller in communication with a drive system, the drive systemconfigured to move the mobile robot about a living space. The mobilerobot further includes an onboard robot sensor for monitoring for thepresence and/or state of a mobile device in the living space. The mobilerobot controller alters the status of the drive system in response tothe spatial location of the mobile device relative to the mobile robotand/or based on the operating state of the mobile device.

According to an embodiment, or in an invention disclosed herein, amobile robot in communication with a network. The mobile robot includesa drive system configured to move the mobile robot about a living spaceand an onboard robot sensor for taking sensor readings throughout theliving space and monitoring an environmental condition along a pluralityof untethered positions traveled through the living space. The conditionis related to the selective activation of a node in communication withthe network, and the mobile robot alters the activation status of thenode when a measured re numerical value adding of the sensed conditionin a defined area adjacent the node falls below or above an activationthreshold. In embodiments, or in an invention herein disclosed, theactivation threshold is represented by range of numerical values have ahighest numerical value and lowest numerical value.

According to an embodiment, or in an invention disclosed herein, amethod for automatically altering the activation status of a mobilerobot includes receiving at an application operating on a mobile device,input parameters for notifying presence of the mobile device to themobile robot, the application initiating a plurality of routines callingone or more sets of executable commands stored in the memory of themobile robot, and executing the set of commands when the mobile deviceis in the presence of the mobile robot. In embodiments, or in aninvention disclosed herein, the mobile device is present when the mobiledevice is in communication with the mobile robot over a local areanetwork. The set of commands including a plurality of routines includinga first routine which monitors a wireless local network by communicatingwith a wireless network circuit of the mobile robot, and detects apresence state of one or more mobile devices on the wireless localnetwork, a second routine which receives a signal from a sensor, thesensor detecting an action state of one of the mobile device, the actionstate changeable between waiting and active, and a third routine whichcommands an end effector of the mobile robot to change state ofperforming mechanical work based on the presence of the mobile deviceand on the action state detected by the first and second routines.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram representing an environmental managementsystem according to embodiments of the present invention, or accordingto an invention disclosed herein.

FIG. 2 is a schematic diagram representing a hub forming a part of theenvironmental management system of FIG. 1.

FIG. 3 is a schematic diagram representing a network-enabled mobilerobot forming a part of the environmental management system of FIG. 1.

FIG. 4 is a schematic diagram illustrating a living structure with theenvironmental management system of FIG. 1 installed therein.

FIGS. 5-18 are plan views of a mobile user terminal which may form apart of the environmental management system of FIG. 1, illustratingscreen displays of the mobile user terminal and related operationsaccording to methods and computer program product embodiments of thepresent invention.

FIG. 19 is a schematic diagram of the user terminal of FIG. 1.

FIG. 20 is a flowchart representing methods according to someembodiments or according to an invention disclosed herein.

FIG. 21 is a schematic diagram illustrating a living structure with theenvironmental management system and automation controller systeminstalled therein.

FIG. 22 is a schematic diagram illustrating menu and parameterselections according to some embodiments or according to an inventiondisclosed herein.

FIG. 23 is a flowchart representing methods according to someembodiments or according to an invention disclosed herein.

FIG. 24 is a schematic diagram illustrating call diagrams according tosome embodiments or according to an invention disclosed herein.

FIG. 25 is a schematic diagram illustrating call diagrams according tosome embodiments or according to an invention disclosed herein.

FIG. 26 is a schematic diagram illustrating a map of environmentalsensor readings taken throughout in a living structure according to someembodiments or according to an invention disclosed herein,

FIG. 27 is a schematic diagram illustrating a map of environmentalsensor readings in a living structure according to some embodiments oraccording to an invention disclosed herein.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

According to embodiments of the present invention, or according to aninvention disclosed herein, an environmental management system includinga mobile robot is provided for use in monitoring conditions in a livingspace. In some embodiments, or in an invention disclosed herein, theenvironmental management system is used for controlling conditions inthe living space and/or evaluating and generating recommendations orplans for addressing conditions in the living space. In someembodiments, or in an invention disclosed herein, the mobile robot hasone or more environmental sensors to collect information from the livingspace. In some embodiments, or in an invention disclosed herein, theenvironmental management system also includes one or more stationarysensors not mounted on the mobile robot and these stationary sensors areused to monitor the living space to collect data that is used incontrolling operation of the mobile robot in the living space.

With reference to FIGS. 1-4, 21 and 26-27, an environmental managementsystem 100 according to embodiments of an invention disclosed herein, oraccording to an invention disclosed herein, is shown therein installedin an associated enclosure or living structure 10. The structure 10 maybe a home or residential dwelling (e.g., a single family home,multi-family dwelling (e.g., a unit of a duplex, apartment, condominium,etc.), or mobile home) or a commercial living space (e.g., an office orstudio). The structure 10 defines an enclosure space 20, which may besubdivided (physically, spatially and/or functionally) into one or moredefined zones (e.g., zones A-C) and, in embodiments, or in an inventiondisclosed herein, the zones correspond to rooms in the living structure10, such as Zone A being a kitchen, Zone B being a living room and ZoneC being a bedroom. The defined zones A-C maybe dived by walls or may beopen concept areas that blend together without a wall division. Thestructure 10 has windows 30, a door 32, light fixtures 34 (havingexhaustable lamps 34A), a TV 36 (or other electronic equipment), and aheating, ventilation and air conditioning system (HVAC) 40. A person Pmay occupy the enclosure space 20.

With reference to FIGS. 1-4 and 21, the environmental management system100 includes a networked-enabled mobile robot 200, a networked-enabledenvironmental management system hub 110, networked-enabled stationarysensors 120, 122, 124, networked-enabled automation controller devices126, 127, 128, 129, a robot dock 140 that is also a network-enabledautomation controller device, a private network (e.g., a broadband LAN)160, and a remote management server or servers (e.g., cloud server) 150.The private network 160 is enabled by a router 162 and a broadbandwireless access point (WAP) 164 having a wireless local area network(WLAN) range 165 at or around the enclosure space 20 bounded by theliving structure 10. The private network 160 is connected to the remoteserver 150 by a WAN or public network 170 (e.g., the Internet) through agateway 170A (e.g., a broadband modem) and an external connection 170B(e.g., an ISP). The router 162, the WAP 164 and/or the modem 170A may beintegrated in a single device. A local user terminal 142, 300 (e.g., aPC, smartphone, or tablet computer) may be connected (wired orwirelessly) to the private network 160. A remote user terminal 144, 300may be connected to the remote server 150 and/or the private network 160via the public network 170. The hub 110, the robot 200, the local userterminal 140, 300 and the remote user terminal 144, 300 may each beconfigured with an environmental manager access client 152 and a robotmanager access client 152A, which may be the same as the environmentalmanager access client (e.g., downloadable or pre-installed applicationsoftware app) enabling communications and control between the nodes 110,200, 140, 142, 144, 300 and 150 as described herein. The access client152, 152A may provide a convenient interface for a user (also referredto herein as “occupant” of the living space 20).

FIGS. 22, 24 and 25 depict the interoperability of nodes of the systemsuch as a mobile robot 200, a networked-enabled environmental managementsystem hub 110, networked-enabled stationary sensors 120, 122, 124,networked-enabled automation controller devices 126, 127, 128, 129, arobot dock 140 that is also a network-enabled automation controllerdevice, a private network (e.g., a broadband LAN) 160, and a remotemanagement server or servers (e.g., cloud server) 150. The privatenetwork 160 is enabled by a router 162 and a broadband wireless accesspoint (WAP) 164 having a wireless local area network (WLAN) range 165 ator around the enclosure space 20 bounded by the living structure 10.FIG. 22 depicts an embodiment of the communication components, sensorsand applications running on of each member and exemplary data structuresassociated with menu items in a menu selection tree. FIGS. 24 and 25depict embodiments of exemplary communications and data exchangesbetween nodes according to embodiments of the invention or in aninvention herein described.

The hub 110 (FIG. 2) may be any suitable device configured to providethe functionality described herein. In some embodiments, or in aninvention disclosed herein, the hub 110 includes a processor 114, memory115, a Human Machine Interface (HMI) 116, a wireless communicationsmodule (e.g., a Wi-Fi module) 112, and an associated antenna 112A. Thehub 110 may include connection hardware (e.g., an ethernet connector)for wired connection to the router 162. In some embodiments, or in aninvention disclosed herein, the hub 110 includes an integralenvironmental sensor 121 and/or an integral automation controller device129. For example, in some embodiments, or in an invention disclosedherein, the hub 110 is a networked, intelligent, microprocessorcontrolled thermostat including an ambient temperature sensor and anHVAC controller integrated with a processor and, in some embodiments, abattery. Suitable hubs for the hub 110 may include the Iris Hub™available from Lowe's Home Improvement, NEST™ intelligent thermostatsavailable from NEST Labs of Palo Alto, Calif., and devices as disclosedin U.S. Published Application No. 2012/0256009 and U.S. PublishedApplication No. 2012/0066168, the disclosures of which are incorporatedherein by reference.

As illustrated, the hub 110 can be connected to the private network 160by wiring to the router 162. Alternatively, the hub 110 may bewirelessly connected to the router 162 via the wireless module 112 andthe WAP 164.

As indicated in the non-exhaustive, exemplary list of FIG. 22 thestationary sensors 120, 122, 124 can be any suitable sensors operable todetect a physical condition or phenomena and convert the same to acorresponding data signal. For example, each sensor 120, 122, 124 may bea temperature sensor, contact sensor, acoustic sensor (e.g.,microphone), motion sensor (e.g., passive IR motion sensor), pressuresensor, visible light sensor, moisture sensor, air quality sensor,ultrasonic sensor, or gas composition sensor. Each sensor 120, 122, 124may include a wireless transmitter (narrowband or broadband/Wi-Fi) tocommunicate with the hub 110 and/or the private network 160 via the WAP164. The sensors 120, 122, 124 are stationary in that they remain in onelocation (e.g., affixed to a wall of the structure 10) throughout theprocess of monitoring and controlling the environment of the livingspace 20. In contrast to the mobile robot 200, the stationary sensors120, 122, 124 must be picked up and transported to relocate andtypically will not be relocated at all (i.e., they will typically bepermanently installed in a given coordinate location relative to thefull coordinate grid mapped to the space 20). While three stationarysensors 120, 122, 124 are shown, the system 100 may include more orfewer.

As indicated in the non-exhaustive, exemplary list of FIG. 22 theautomation controller devices 126, 127, 128, 129, 140 may be anysuitable devices operable to control operation of a device or systemassociated with the structure 10. Examples of automation controllerdevices include a thermostat to actuate/deactuate/adjust the HVAC system40 (as illustrated, controller 127), a switch device toactuate/deactuate a light (as illustrated, controller 128), an audiblealarm, a device operative to open and close a window covering (e.g.,automatic shades) (as illustrated, controller 126), an air qualitycontrol device 129, such as an air purifier, humidifier, orde-humidifier, a network enabled mobile robot evacuation station dock140, and an automatic latch or lock device. Each automation controllerdevice 126, 127, 128, 129, 140 may include a wireless transmitter(narrowband or broadband Wi-Fi) to communicate with the hub 110 and/orprivate network 160 via the WAP 164. While five automation controllerdevices 126, 127, 128, 129 140 are shown, more or fewer may be providedthrough out one or more Zones (A-C) in the living structure.

The robot dock 140 may include or be connected to a power supply andinclude a charger operative to charge a battery of the mobile robot 200when the robot 200 is effectively docked at the robot dock 140. The dock140 may be an evacuation station including a motorized receptacleactuatable to empty debris from the robot 200. In some embodiments, orin an invention disclosed herein, the dock 140 is connected (wired orwirelessly) to the private network 160 to enable or facilitatetransmission of data from the robot 200 to the private network 160and/or from the private network 160 to the robot 200. The robot dock140, therefore, is an example another automation controller device. Inembodiments, the robot dock 140 communicates wirelessly directly withthe mobile robot 200 through blue tooth, nearfield induction, IR signalsor radio.

The mobile robot 200 may be any suitable robot and it will beappreciated that not all of the components, features and functionalitydescribed herein are required in all embodiments of an inventiondisclosed herein, or in an invention disclosed herein. With reference toFIG. 3 the non-exhaustive list of FIG. 22, the exemplary mobile robot200 includes a chassis 210, a controller 220, memory 222, a battery 224,a battery charger 226, a human-machine interface (HMI) 228, a drivesystem 230, a mapping/navigation system 240, a service operation system242 (also referred to herein as “the cleaning system” and the “cleaninghead”), a wireless communication system 250, an IR emitter 260, andenvironmental sensors 270A-J, a debris bin 242A (to store debriscollected by a cleaning operation), a bin level sensor 242B, a dirtextraction sensor 242C (to detect the density of characteristics of thedebris collected by the cleaning operation), an indicator light 274A, anaudio transducer 274B, and a cleaning mode selection switch (e.g.,button) 274C. The mobile robot 200 may be generally configured in themanner of or include features from the Roomba™ floor cleaning robotand/or robots as described in U.S. Pat. No. 7,024,278 and U.S. PublishedApplication No. 2007/0250212, the disclosures of which are incorporatedherein by reference, with suitable modifications.

The controller 220 may include any suitably configured processor 211(e.g., microprocessor) or processors. The microprocessor 221 is incommunication with the controller 200, memory 22, the cleaning system242 and drive system 230

The drive system 230 may include any suitable mechanism or system foractively and controllably transiting the robot 200 through the enclosurespace 20. According to some embodiments, or according to an inventiondisclosed herein, the drive system 230 includes a roller, rollers, trackor tracks 232 and one or more onboard electric motors 234 (also referredto herein as “motorized actuator”) operable by the controller 220 toconvey the robot 200 across the floor of the enclosure space 20.

The service operation system 242 may be optional in some embodiments, orin an invention disclosed herein, and is operable to execute a serviceoperation in the enclosure space 20. According to some embodiments, oraccording to an invention disclosed herein, the service operation system242 includes a floor cleaning system that cleans a floor surface of theenclosure space 20 as the robot 200 transits through the space 20. Insome embodiments, or in an invention disclosed herein, the serviceoperation system 242 includes a suction head and an onboard vacuumgenerator to vacuum clean the floor. In some embodiments, or in aninvention disclosed herein, the system 242 includes a sweeping ormopping mechanism, such as one or more rotating brushes, rollers, wet ordry stationary or oscillating and/or vibrating cloths or multilayer padassemblies.

The wireless communication system 250 includes a wireless communicationtransmitter or module 252 (e.g., a Wi-Fi module) and an associatedantenna 254 to enable wireless communication between the robot 200 andthe hub 110 and/or the private network 160 (i.e., via the WAP 164).Various different network configurations may be employed for the privatenetwork 160, of which the mobile robot 200 constitutes a node. In someembodiments, or in an invention disclosed herein, the robot 200communicates wirelessly with the hub 110 through the router 162 via theWAP 164. In some embodiments, or in an invention disclosed herein, themobile robot 200 communicates with the remote management server 150 viathe router 162 and the WAP 164, bypassing the hub 110.

In some embodiments, or in an invention disclosed herein, the robot 200may communicate wirelessly directly with the hub 110 using narrowband orbroadband (e.g., Wi-Fi) RF communication. For example, if the robot 200is not equipped with a transmitter compatible with the WAP 164, therobot 200 may communicate with the hub 110, which may in turn relay datafrom the robot 200 to the private network 160 or the remote managementserver 150. In some embodiments, or in an invention disclosed herein,the system 100 includes a network bridge device that receives andconverts RF signals from the robot 200 and relays them to the router 162in a format supported by the router for delivery to the remotemanagement server 150 or another device in the private network 160. Insome embodiments, or in an invention disclosed herein, the system 100includes a low power mesh data network employing a mesh topology whereinRF communications signals are relayed from node to node between themobile robot 200 and the hub 110. In this case, the stationary sensors120, 122, 124, the controllers 124, 126, 127, 128, 129, 140 and rangeextender modules (if any; not shown) may serve as mesh nodes. Likewise,the mobile robot 200 may serve as a node to relay signals between thehub 110 and the other nodes (e.g., devices 120, 122, 124, 126, 127, 128,129, 140 and range extenders).

As indicated in FIGS. 3 and 22, the exemplary robot 200 includes thefollowing environmental sensors: an IR radiation detector 270A, a camera270B, an ambient temperature sensor 270C, an ambient light sensor 270D,an acoustic sensor 270E (e.g., microphone), a motion detector 270F(e.g., a passive IR photodiode), an ultrasonic sensor 270G, a pressuresensor 270H, an air quality sensor 270I, and a moisture sensor 270J.These sensors are not exhaustive of the types of sensors that may beprovided on the robot 200 and certain of the sensors may be omitteddepending on the environmental parameters to be detected by the robot200.

The mapping/navigation system 240 can be used by the mobile robot 200 tomap the enclosure space 20 and to determine or register the position ofthe robot 200 relative to the space 20 (i.e., to localize the robot 200in the space 20). The robot 200 can thus also localize the locations ofits onboard sensors 270A-J. Any suitable technique and components may beused to localize and register the robot 200, such as machine vision(e.g., using the camera 270B and Feature Recognition or ClassRecognition software), light beacons, or radiofrequency received signalstrength indicator (RSSI) technology.

According to some embodiments, or in according to an invention disclosedherein, the mobile robot 200 or system 100 can uniquely identify rooms(e.g., Zone A, Zone B, Zone C) by combining (1) identity information(e.g., the IPv6 identity of an “Internet of Things” 6LowPan light bulbor socket transceiver, plug unit, or the like), (2) RSSI (e.g., thesignal strength/amplitude of the same nearby IPv6 RF transceiver) and(3) remote control (e.g., the ability to modulate that RF transceivervia the local network or internet). For example, the autonomous robot200 (e.g., a Roomba® robot) can navigate a room (e.g., Zone A, Zone B,or Zone C) until it finds a peak signal strength of an IPv6 transceiver,in which case it can be expected to be nearest this transceiver. It canthen tag this transceiver with a topological or Cartesian location.Should the transceiver be associated with a room identity by an end useror automatically via any means (e.g., “living room light bulb No. 3”),the robot 200 can use this information in various ways. For example, therobot 200 may be commanded to clean the living room, in which case itcan use its mobility and distance-dependent variation in signal strengthto home on this room (even without a map). As another example, a robot200 can be commanded to clean only the living room, in which case one ormore transceivers known to be in the living room “anchor” the robot 200to that room. The robot 200 sets a threshold for signal strength and/orrough localization using multiple signal sources and/or identifiablewalls and doorways, and covers the room such that the signal strength ofthe living room IPv6 6LowPAN light bulb is high.

The mobile robot 200 can identify a room or Zone (A-C) in a number ofdifferent ways, independent of the system 100. In an embodiment, or inan invention disclosed herein, the mobile robot 200 may visuallyrecognize one or more features located in one room using its camera270B. In an embodiment, or in an invention disclosed herein, the mobilerobot 200 can identify a room or Zone (A-C) using its mapping andnavigation system 240 to identify coordinates within a defined room.

Further methods and operations in accordance with embodiments of aninvention disclosed herein, or in accordance with an invention disclosedherein, and utilizing the environmental management system 100 will nowbe described.

According to some methods, the system 100 uses data from one or more ofthe networked stationary sensors 120, 122, 124 to control or enhanceoperation of the mobile robot 200. In some embodiments, or in aninvention disclosed herein, the sensors 120, 122, 124, are occupancysensors (e.g., passive IR motion detectors). When the sensors 122 detecta person P in a given zone A-C, the system 100 will cause the robot 200to alter its operation to adapt to the occupancy. In embodiments, or inan invention disclosed herein, the mobile robot 200 detects a person Pbased on a signal from an occupancy sensor, heat sensor, RSSI sensor, ora signal indicating the presence of the person's local user terminal 142(also herein referred to as “mobile device 300”). For example, the robot200 may be executing a floor cleaning operation and the system 100(e.g., via instructions from the hub 110 to the robot 200) may instructthe robot 200 to return to the dock 140, move to a different, unoccupiedzone, avoid the occupied zone, or assume a quieter mode of operation.Similarly, before deploying the robot 200, the system 100 can use thestationary sensors 122 to determine whether an occupant is detectableand, if not, clear the robot 200 to proceed with a mission (e.g., afloor cleaning excursion).

Alternatively, one or more of the onboard sensors 270A-J may detectoccupancy and the robot 200 may communicate this information to the hub110 for further instruction regarding mission completion or truncation.In embodiments, or in the invention, the mobile robot 200 receives asignal indicating the presence of the person's mobile device on the WAP164. The signal may be detected by the mobile robot 200 monitoring thewireless local network 160 or a robot manager access client 152Aoperating on the mobile device 300 may execute a routine that sends asignal to the mobile robot 200 indicating that the mobile device 300 ison the WLAN 160 and accessing the WAP 164. In embodiments, or aninvention disclosed herein, the mobile robot 200 may include a radioreceiver capable of detecting a call on the mobile device 300, theactive call putting the mobile device 300 in an active call state 300A.In embodiments, or in an invention disclosed herein, the mobile robotmay detect the strength of the call signal with an RSSI sensor. When themobile device 300 is in an active call state 300A, the mobile robotcontroller 120 will alter a state of the mobile robot 200 to respond tothe call signal by returning to the dock 140, moving to a different,unoccupied zone (A-C), avoid the occupied zone (A-C), or assume aquieter mode of operation. In embodiments, or an invention disclosedherein, an occupied zone (A-C) is a zone in which a person P or mobiledevice 300 is present. In embodiments, or an invention disclosed herein,an occupied zone is a zone in which a mobile device 300 is in an activecall state 300A.

In some embodiments, or in an invention disclosed herein, the system 100can automatically control devices 120, 122, 124, 126, 128, 129, 140 ofthe structure 10 to facilitate operation of the robot 200. For example,the system 100 (e.g., via instructions from the hub 110) canautomatically turn on a light fixture 34 using a controller 128 toilluminate a region viewed by the camera 270B of the robot 200. Therobot manager access client 152A may instruct the mobile robot 100 toreturn to the dock 140 when a person P returns to the living structure10 after being outside of the WLAN range 165. The robot manager accessclient 152A may instruct the mobile robot 100 to operate in a quiet modewhen a person P returns to the living structure 10 after being outsideof the WLAN range 165 and the mobile device 300 on the WLAN 164 receivesa call and is in an active call state 300A (also referred to herein as a“call” or “ring”). The active call state 300A refers to a call ringingon a mobile device 300A and also to an occupant answering the call 300A.

As indicated in FIGS. 3, 4 and 21, in one embodiment, or in an inventiondisclosed herein, the microprocessor 221 of the mobile robot 200executes a plurality of routines. The plurality of routines include afirst routine which monitors the wireless access point (WAP) 164 bycommunicating with the wireless network circuit 250, and detects apresence state of one or more mobile devices 300 within the WLAN range165. A second routine receives a signal from a sensor, the sensordetecting a call state of the mobile device 300, the action statechangeable between call readiness and call received. A third routinecommands a motorized actuator of the service operation system 242 of themobile robot 200 to change state of performing mechanical work based onthe presence of the mobile device 300 on the WLAN and on the call statedetected by the first and second routines.

As described above, in some embodiments, or in an invention disclosedherein, the state of cleaning is changed from the motorized actuator ofthe service operation system 242 being powered to off, and in otherembodiments, or in an invention disclosed herein, the state of cleaningis changed from the motorized actuator operating at full power tooperating at a low power, low decibel state. In embodiments, a fullpower state represents the motorized actuator operating a vacuum fan ora roller element of the service operation system 242 at full speed and alower power state represents the motorized actuator operating the vacuumfan or roller element of the service operation system 242 a lower speed.

In other embodiments, or in an invention disclosed herein, the signalreceived by the second routine is sent from a sensor 270A-J on themobile robot 200. In some examples, the sensor 270A-J on the mobilerobot 200 is an audio sensor 270E for hearing the call ring or vibrate300A. In other examples, the sensor 270A-J on the mobile robot 200 is aradio receiver of the wireless communication system 250 for detecting aradio frequency signal indicative of a phone call 300A, such as, forexample, 915 mHz in North America or 868 MHz in Europe. In someembodiments, or in an invention disclosed herein, the sensor signalingreceipt of a call 300A is a single sensor or a combination of sensors onthe mobile device 300, such as an accelerometer measuring the motionassociated with raising a telephonic device to an ear, a proximitysensor for measuring the proximity of the telephonic device to aperson's P face or head, a vibration actuator or sensor for causing ordetecting a vibration indicative of a ring 300A, and a microphone on thephone for audibly detecting a ring 300A.

In some embodiments, or in an invention disclosed herein, the firstroutine detects the presence state of a mobile device 300 on thewireless local network, and the second routine receives a signal from acleaning readiness sensor in the mobile robot 200, the sensor detectingthe cleaning readiness state of the mobile robot 200, the cleaningreadiness state changeable between cleaning readiness and cleaningactive. In embodiments, or in an invention disclosed herein, the mobilerobot 200 executes a monitoring behavior for monitoring the cleaningreadiness. In some embodiments, the cleaning readiness is a power chargeof the battery 224 of the mobile robot 200, and in other embodiments,the cleaning readiness is a stasis state of the mobile robot 200. Inembodiments, or in an invention disclosed herein, the end effector isthe cleaning head or service operation system 242 of the mobile robot200, the cleaning readiness is a stasis state, and the motorizedactuator is stationary in a stasis state.

In some embodiments, or in an invention disclosed herein, the thirdroutine which commands the cleaning head or service operation system 242of the mobile robot 200 to change state of cleaning based on thepresence of the mobile device 300 on the wireless local network and onthe cleaning readiness state of the mobile robot 200. If the mobilerobot does not have enough battery charge to power a mission, the mobilerobot 200 will not launch even when the occupancy schedule indicates atime interval during which the occupant(s) are away from the livingstructure 10.

In some embodiments, or in an invention disclosed herein, thenetwork-enabled mobile device that enables the mobile robot 200 todetect occupancy presence is a wireless transmission enabled sensor tag,such as the Sen.se™ motion cookie. In other embodiments, or in aninvention disclosed herein, the mobile device is a smartphone 300. Insome embodiments, the mobile device is a wireless transmission enableddevice, such as a portable activity tracker, baby monitor, scale or airquality monitor. Examples of such wired mobile devices are the Withings™activity monitor, baby monitor, and scale. In some embodiments, or in aninvention disclosed herein, the mobile robot 200 uses an onboard camera270B or passive IR sensor 260 to detect the presence of one or moreoccupants P in one or more rooms (Zones (A-C)) in the enclosure space20.

One advantage of a mobile robot receiving a signal indicative of thepresence of an occupant P, as determined by their mobile device 300appearing on the WAP 164, is that the mobile robot 200 autonomouslyresponds to presence. In some embodiments, the mobile robotindependently monitors the local network 160 for the presence of one ormore mobile devices 300, and in other embodiments, the mobile device 300enters the network and notifies the mobile robot 200 of its presencethrough an application, such as the robot manager access client 152 orthe environmental manager access client 152 running on the mobile deviceprocessor for wirelessly communicating instructions to the mobile robot200.

The mobile robot 200 will automatically launch and execute a mission,for example, a cleaning mission, if the mobile device 300 is not on thenetwork and the mobile robot ready, for example if a mobile robotbattery 244 holds a charge. The mobile robot 200 will automaticallydrive away from an occupant P, quiet itself, or turn off its power toquiet the mobile robot 200 when an occupant P takes a phone call 300A.The mobile robot 200 therefore behaves in a smart way by interruptingits mission so that the occupant P can hear a caller on the mobiledevice 300 without background noise interference. In embodiments, themobile robot retreats from an occupant P holding a mobile device 300 orthe mobile robot quiets its motorized actuators, such as those foractuating the vacuum fan, those for actuating the drive wheels 232 andthose for actuating one or more cleaning head rollers of the serviceoperation system 242. The mobile robot 200 monitors the call state and,in embodiments, monitors for the radio frequency indicative of a call300A. In embodiments, or in an invention disclosed herein, when a callhas ended, the mobile robot 200 autonomously returns to where itdiscontinued its mission and returns to an active mission state. Themobile robot 200, therefore, completes its mission throughout theenclosure space 20 while accommodating for the presence of an occupant Pand for the receipt of a call 300A on a mobile device 300. According tosome embodiments, or in according to an invention disclosed herein, thesystem 100 uses data collected by the environmental sensors of themobile robot 200 to enable or enhance the monitoring and/or controlfunctions and processes of the system 100. The robot environmentalsensors 270A-J (which are networked to the hub 110 and/or the remotemanagement server 150) can thereby be used in place of or in addition tothe stationary sensors 120, 122, 124 to provide input data andinstructions to the hub 110, the mobile device 300, thenetworked-enabled stationary sensors 120, 122, 124, thenetworked-enabled automation controller devices 126, 127, 128, 129, 140and/or the remote management server 150. As discussed above, thelocations of the robot environmental sensors 270A-I in the enclosurespace 20 can be determined and registered so that the readings from therobot environmental sensors 270A-J can be correspondingly registeredwith respect to the space 20.

The ambient light sensor 270D or camera 270B, for example, can be usedto detect the light level in a zone and/or entering through a window 30.Based on the data from this sensor robot or sensors, the system 100 mayuse a controller 126 to close a shade 30A on the window or notify a userthat the shade should be closed.

Similarly, the camera 270B or other sensors on the robot 200 can be usedto detect open windows 30 or doors 32. In this manner, the robot 200 canmonitor portals to and zones of the enclosure space for security orother purposes.

As indicated in FIGS. 3, 22, 26 and 27 the temperature sensor 270C canbe used to detect an ambient temperature at a location in the space 20other than the location(s) of the stationary temperature sensor(s) 110.In this way, the mobile robot 200 obtains a temperature data set thatmore accurately reflects the temperature distribution in the space 20.The system 100 may respond by modifying operation of the HVAC system 40or other devices (e.g., automatically opening or closing thermal shades)or reporting the temperature distribution to a user. As indicated inFIG. 26, the mapping and navigation routine enables the mobile robot 200to measure and store sensor temperature readings 605 throughout theenclosure space 20 to create 2 dimensional or 3 dimensional map oftemperature readings 605 throughout the enclosure space 20. Similarly,in embodiments, or in an invention disclosed herein, the mobile robot200 measures and stores air quality readings 610 with its onboard airquality sensor 270I as the mobile robot 200 drives along a robot path620 throughout the enclosure space 20. The air quality readings 610 aremapped to a 2 dimensional or 3 dimensional map of air quality readingsthroughout the enclosure space 20. In embodiments, or in an inventiondisclosed herein, the air quality readings 610 may measure commonlydetected air quality values, such as those for Common air pollutants,particulate matter (PM), sulphur oxides (SOx), nitrogen oxides (NOx),volatile organic compounds (VOCs), carbon monoxide (CO) and ammonia(NH3), ground-level ozone (O3), pollen, dust, or other particulatematter. In embodiments, or in an invention disclosed herein, the airquality readings measure humidity. As indicated in FIG. 26, inembodiments, or in an invention disclosed herein, the map 600 of sensorreadings 605, 610 displays to the HMI of a local user terminal 142, 300or a remote user terminal 144, 300 for active management of thenetworked-enabled stationary sensors 120, 122, 124 and thenetworked-enabled automation controller devices 126, 127, 128, 129, 140.In embodiments, or in an invention disclosed herein, the mobile robot200 processes the mapped sensor readings 605, 610 to send operationalinstructions the networked-enabled stationary sensors 120, 122, 124 andthe networked-enabled automation controller devices 126, 127, 128, 129,140. As indicated in FIGS. 26 and 27, the system 100 therefore uses amapping mobile robot 200 to collect thermal/humidity/air quality dataand assemble a dynamically updated two dimensional map 600 or threedimensional map 700 which can be used for home environmental control.

In some embodiments and according to a first aspect, or according to aninvention disclosed herein, a household mobile robot 200 for “coverage”missions (sweeping, vacuuming, mopping, spreading fluid, and/or anycombination of these) uses a suitable technique or techniques, in someembodiments, or in an invention disclosed herein, “SimultaneousLocalization and Mapping” (SLAM) techniques, to generate a map of thesurface being, for example, vacuumed. There are various techniques, andvarious maps that may be generated. Maps may be topological, Cartesian,polar, representational, probabilistic, or other; and/or may trackwalls, obstacles, open spaces, fiducials, natural features, “occupancy”,or other map features. In some techniques, many maps, each of somedegree of probable correctness, are recorded.

According to some embodiments, or according to an invention disclosedherein, substantive processing of the environmental sensor datacollected by the robot 200 as described herein is conducted entirely orprimarily by the microprocessor 221 of the robot 200. According to someembodiments, or according to an invention disclosed herein, substantiveprocessing of the environmental sensor data collected by the robot 200as described herein is conducted entirely or primarily remotely from therobot 200. In some embodiments, or in an invention disclosed herein,said processing is conducted entirely or primarily at the cloud orremote management server 150. In some embodiments, or in an inventiondisclosed herein, said processing is conducted entirely or primarily atthe remote user terminal 144, 300 or local user terminal 142, 300.However, in other embodiments, or in an invention disclosed herein, allor a portion of the processing of the robot sensor data may occur in thehub 110.

As indicated in FIGS. 3, 21, 23, 26 and 27 according to embodiments, orin an invention disclosed herein, the mobile robot 200 includes amicroprocessor 221 connected to a memory 222 and a wireless networkcircuit 160, for executing routines stored in the memory 222 andcommands generated by the routines and received via the wireless networkcircuit 160. The mobile robot 200 further includes driven wheels 232commandable by the microprocessor 221 to reach a multiplicity ofaccessible two dimensional locations within an enclosure space, 20, orhousehold, and an environmental sensor 270C, 270I, 270J readable by themicroprocessor 221, the microprocessor 221 executing a plurality ofroutines. The plurality of routines include a first routine S2501 whichcommands the driven wheels 232 to move the mobile robot 200 about thehousehold 20, a second routine S2505 which takes sensor readings 605,610 at a plurality of the accessible two dimensional locations withinthe household 20, as indicated in the exemplary map 600 of FIG. 25, anda third routine S2515 which, based on the sensor readings 605, 610throughout the household 20, sends data to a the networked-enabledautomation controller devices 126, 127, 128, 129, 140 having a dedicatedenvironmental sensor 120 resulting in the activation of a motorizedactuator 41 on the networked-enabled automation controller devices 126,127, 128, 129, 140 to perform mechanical work in the household 20,despite the dedicated environmental sensor alone determining otherwise.

In embodiments, or in an invention disclosed herein, the mobile robotmoves about the household 20 on a primary mission and simultaneouslycollects environmental sensor readings 605, 610 as a secondary mission.In some embodiments, the mobile robot 200 is a vacuum and the primarymission is a cleaning mission. While the mobile robot 200 moves aboutthe household 20 vacuuming, it also measures and maps environmentalsensor readings 605, 610.

In embodiments, or in an invention disclosed herein, the sensor readings605, 610 taken at the plurality of accessible two dimensional locationswithin the household 20 are environmental sensor readings. In someembodiments, the environmental sensor is an air quality sensor 270I, andin other embodiments, the environmental sensor is a humidity sensor270J, In some embodiments, the environmental sensor is a temperaturesensor 270C.

In some embodiments, or in an invention disclosed herein, thenetworked-enabled automation controller device 129 is a humidifier witha dedicated humidity sensor 120. In some embodiments, or in an inventiondisclosed herein, the networked-enabled automation controller device 129is an air purifier with a dedicated air quality control sensor 120. Insome embodiments, or in an invention disclosed herein, thenetworked-enabled automation controller device 129 is a thermostat 110for controlling automation elements such as HVAC 40 and automated windowshades 30A.

Networked-enabled automation controller devices 110, 126, 127, 128, 129,140 such as thermostats, air purifiers and humidifiers, are stationaryand typically located at one or two locations throughout an enclosurespace 20 and the stationary sensors therein measure relatively localizedair currents at that particular singular, unchanging location. Theprimary advantage of the mobile robot 200 is accessing locations distantfrom or in another room or Zone (A-C) not immediately adjacent thestationary networked-enabled automation controller devices 110, 126,127, 128, 129, 140. By mapping measurements throughout an enclosurespace 20, the mobile robot 200 determines whether, based on a singlereading 605, 610 taken in a location remote from the stationarynetworked-enabled automation controller devices 110, 126, 127, 128, 129,140 or based on an aggregate of readings taken randomly orsystematically throughout the enclosure space 20, a stationarynetworked-enabled automation controller device 110, 126, 127, 128, 129,140 should be activated.

Based on a plurality of measurements taken throughout an enclosure space20, the mobile robot 200 activates a networked-enabled automationcontroller device 110, 126, 127, 128, 129, 140 even when theenvironmental sensor 120 reading of the networked-enabled automationcontroller device 110, 126, 127, 128, 129, 140 indicates otherwise atits singular, unchanging point of location on the map 600. The networkentity's dedicated sensor 120 measures only the immediate volumeadjacent the networked-enabled automation controller device 110, 126,127, 128, 129, 140 and fails to account for variations in a volume ofair mass spread throughout an enclosure space 20. By monitoring andmeasuring temperature, air quality and humidity throughout the enclosurespace 20, the mobile robot 200 provides information otherwiseinaccessible by the stationary networked-enabled automation controllerdevice 110, 126, 127, 128, 129, 140. As shown in the exemplary map 600of FIG. 25, the mobile robot 200 can measure temperature variations indifferent zones (A-C) of an enclosure space 20, identifying on the map600 hot spots and high pollen readings (i.e. low air quality) near adrafty window, for example. As shown in the exemplary map 700 of FIG.27, the mobile robot 200 can measure temperature variations in differentzones (A-C) of an enclosure space 20, identifying on the map 700temperature ranges in a topographical presentation.

If the mobile robot 200 is on a sensor reading mission as the primarymission and is not conducting a secondary mission, such as a cleaningmission, the mobile robot 200 may send a command signal to a stationarynetworked-enabled automation controller device 110, 126, 127, 128, 129,140 at different stages of the robot mission. In one embodiment, or inan invention disclosed herein, once the mobile robot 200 takes a singlesensor reading falling above or below an acceptable threshold level orrange for temperature, humidity or air quality, the mobile robot 200instructs the corresponding stationary networked-enabled thermostat 110or air purifier or humidifier 129 to operate even if the dedicatedsensor 120 on the stationary networked-enabled automation controllerdevice 110, 126, 127, 128, 129, 140 falls within the acceptablethreshold measurement or range of measurements. In one embodiment, or inan invention disclosed herein, once the mobile robot 200 finishes itsmission, it averages its sensor readings. If the average sensor readingfor a room or Zone (A-C) falls above or below an acceptable thresholdlevel or range for temperature, humidity or air quality, the mobilerobot 200 instructs the corresponding stationary networked-enabledthermostat 110 or air purifier or humidifier 129 to operate even if thededicated sensor 120 on the stationary networked-enabled automationcontroller device 110, 126, 127, 128, 129, 140 falls within theacceptable threshold measurement or range of measurements. In oneembodiment, or in an invention disclosed herein, once the mobile robot200 takes a single sensor reading falling above or below an acceptablethreshold level or range for temperature, humidity or air quality, themobile robot 200 finishes its mission and then instructs thecorresponding stationary networked-enabled thermostat 110 or airpurifier or humidifier 129 to operate even if the dedicated sensor 120on the stationary networked-enabled automation controller device 110,126, 127, 128, 129, 140 falls within the acceptable thresholdmeasurement or range of measurements.

As indicated in FIGS. 26 and 27, according to an embodiment, or in aninvention disclosed herein, a mobile robot 200 includes an environmentalsensor readable by the microprocessor 221 to take current readings of anenvironmental quality. The mobile robot 200 additionally includes alocalizing circuit, with at least one localizing sensor, such as acamera 270B, that observes sensor readings from objects within thehousehold 200, for determining a current pose of the mobile robot 200with reference to the observed objects. The microprocessor execute aplurality of routines including a navigation routine which commands thedriven wheels 232 to move the robot 200 about the household 20, asurface mapping routine that accumulates observations from thelocalizing circuit to record a two dimensional array representingpossible locations of the mobile robot 200, an environmental mappingroutine that takes and accumulates readings from the environmentalsensor at a plurality of the accessible two dimensional locations withinthe household and causes the memory 222 to store a three dimensionalarray based on the readings and on the two dimensional arrayrepresenting possible locations of the mobile robot; and alocation-responsive environmental control routine. Thelocation-responsive environmental control routine correlates the threedimensional array to locations of a plurality of control nodes, such asthe networked-enabled automation controller devices 110, 126, 127, 128,129, 140. Each control node, or networked-enabled automation controllerdevice 110, 126, 127, 128, 129, 140, has a dedicated environmentalsensor 120 and a control channel to actuate a motorized actuator 41 toperform mechanical work within the household 20. Based on a proximity ofat least one control node, or networked-enabled automation controllerdevice 110, 126, 127, 128, 129, 140, to an environmental mappinglocation represented in the three dimensional array, the mobile robot200 sends data to cause the at least one environmental control node, ornetworked-enabled automation controller device 110, 126, 127, 128, 129,140, to perform mechanical work in the household 20.

One or More of the robot sensors 270A-J may be used to sense an occupantin the enclosure space 20. The mobile robot 200 can significantlyimprove the occupancy detection capability of the system 100 byproviding occupancy data at a location or locations that are notavailable to the stationary sensors 110, 120, 122, 124. The occupancyinformation collected by the robot 200 may be used alone or tosupplement occupancy information collected by one or more of thestationary sensors 110, 120, 122, 124. Sensors on the robot 200 can beused to detect environmental conditions and collect occupancy data insupport of occupancy sensing systems as disclosed in U.S. PublishedApplication No. 2012/0066168 (the disclosure of which is incorporatedherein by reference), for example.

According to some embodiments, or according to an invention disclosedherein, the mobile robot 200 determines whether an electronic device isturned on and, if so, automatically turns off the electronic device. Insome embodiments, or in an invention disclosed herein, the robot 200detects that the TV 36 is on (e.g., using the camera 270B or a radiationsensor 270A, 270D) and responds thereto by turning the TV 36 off (e.g.,using the IR modulator 260) or notifying the hub 110, which turns the TV36 off (e.g., using controller 126).

According to some embodiments, or according to an invention disclosedherein, the system 100 uses environmental information collected by therobot sensors 270A-J for energy management execution, planning and/orreporting. The system 100, using sensor data from the robot 200, candetermine that an automated control response is needed and initiate theresponse. The system 100 using sensor data from the robot 200 thereforemonitors human occupancy behaviors and make suggestions for improvingenergy efficiency.

For example, the system 100 may determine from data acquired by thecamera 270B that the window shade 30A should be closed to block outlight and actuate the controller 126 to close the shade 30A. By way offurther example, the robot 200 can detect that a light 34 is on at atime or under conditions when it should not be and the system 100 canrespond thereto by actuating a controller 126 to turn off the light 34.In some configurations, the system 100 may notify the user (e.g., viathe terminal 142 or the terminal 144) that action may be needed (e.g.,close the shade or turn off the light) rather than automaticallyexecuting the action. In this case, the system 100 may be configured toenable the user (e.g., via the terminal 142, 144) to instruct the system100 to execute the desired action. Regardless of how the action isexecuted, directly by a user or indirectly via the system 100, the robot200 uses the sensors 270A-J to confirm (e.g. visual confirmation with anonboard camera) that a desired action is completed (e.g. light turnedoff, shades drawn, door shut, storm window lowered, etc.).

According to some embodiments, or according to an invention disclosedherein, the system 100 is configured to evaluate the data from theenvironmental sensors (including the robot sensors), generate a usagereport, energy management plan, proposal or recommendation based on thedata, and report the report, plan, proposal or recommendation to a user(e.g., at the terminal 142, the remote terminal 144, the hub 110, therobot 200 or otherwise).

In some embodiments, or in an invention disclosed herein, the system 100collects device usage data, determines a pattern of device usage,generates a recommendation plan for operating or deploying energymanagement equipment, and reports the recommendation or plan to theuser. For example, the system 100 may monitor the statuses (on or off)of the light bulbs and recommend to the user that the user program thesystem 100 or purchase and install certain home automation equipment(e.g., light controllers or IP addressed light bulbs (e.g., IPv6addressed LED light bulbs available from Greenwave Reality) toautomatically turn certain of the lights on and off. The system 100 mayplan a deployment strategy for networked energy management equipment.The system 100 can report the user's behavior patterns and suggestpriority for adding different automated elements to the network.

The system 100 may provide the user with Internet URL links to webpagesdescribing equipment recommended for addition to the system and/or towebpages for purchasing such equipment.

The robot 200 can use an onboard sensor (e.g., the IR detector 270A or aphotodiode) to assess whether a lamp (e.g., an incandescent light bulb)has burned out or is near its end of life and will soon burn out and, ifso, the system 100 can send the user a message reporting the same. Themessage may include an Internet link to a webpage where a replacementlamp can be purchased. For example, in one embodiment, or in aninvention disclosed herein, the robot 200 includes a photodiode forsensing the frequency component of light.

The mobile robot 200 may be used to charge (in some embodiments, or inan invention disclosed herein, wirelessly (inductively)) a battery 120Aof one or more of the stationary sensors 120, 122, 124, the controllers126 and the hub 110 using the charger 226. One or more of the components120, 122, 124, 126, 110 may be configured and used to charge (e.g.,wirelessly) the battery 224 of the robot 200 and/or the robot 200 may becharged by the dock 140.

In embodiments, or in an invention disclosed herein, the mobile robot200 monitors human occupancy behaviors and autonomously makes decisionsabout operating such as when to operate and for how long, which maydepend on user preferences. The mobile robot 200 can learn the layout ofan enclosure space 200 and the amount of time it takes to completecoverage of each room or Zone (A-C) in the enclosure space 20 and usethat stored information to plan full coverage missions or mini missionsof one or more rooms whose coverage times, alone or in combination, fallwithin a scheduled run time. In embodiments, or in an inventiondisclosed herein, the mobile robot 200 can access an occupancy scheduleto determine a launch time. In embodiments, or in an invention disclosedherein, the occupancy schedule may be directly input to the mobile robot200 thought an HMI 228 on the mobile robot 200 or wirelessly accessedthrough the LAN 160. In embodiments, or in an invention disclosedherein, the occupancy scheduled may be wirelessly downloaded to thememory 222 of the mobile robot 200 through native calendar integration.In embodiments, or in an invention disclosed herein, the mobile robot222 therefore plans a complete mission or mini mission that ends beforeoccupants arrive. In embodiments, or in an invention disclosed herein,the mobile robot 22 therefore plans when to preheat an oven or turn thethermostat up or down to achieve even heating or cooling throughout theenclosure space when occupants are away or when they are scheduled toreturn.

In one embodiment, or in an invention disclosed herein, the mobile robot200 moves about the living space 20 through a multiplicity of accessibletwo dimensional locations within a the living space 20 (also referred toherein as “household”). The mobile robot 200 includes a localizingcircuit, with at least one localizing sensor that observes sensorreadings from objects within the household 20, for determining a currentpose of the mobile robot 200 with reference to the observed objects, themicroprocessor 221 executing a plurality of routines. The plurality ofroutines include, a navigation routine which commands the driven wheels232 to move the mobile robot 200 about the household 20, a surfacemapping routine that accumulates observations from the localizingcircuit to record a two dimensional array representing possiblelocations of the mobile robot 200, a mission time estimate routine thataccumulates timed readings from the localizing circuit and determines atleast one estimated completion time span for the mobile robot 200 tosubstantially cover a surface area of the household 20 corresponding toa contiguous set of possible locations within the two dimensional array,and a mission pre-planning routine that compares a target completiontime to the at least one estimate completion time span, and commands thedriven wheels 232 to begin covering a the surface area sufficiently inadvance of the target completion time for the at least one estimatedcompletion time to pass, so that the surface area is substantiallycovered before the target completion time.

In embodiments, or in an invention disclosed herein, the missionpre-planning routine further comprising identifying a target completiontime and launching the robot 200 autonomously based on knowing anoccupancy schedule of the household 20. In embodiments, or in aninvention disclosed herein, the mobile robot 200 monitors and learns theoccupancy schedule over a period or periods of time and sets the targetcompletion time based on the learned occupancy schedule. In someembodiments, the mobile robot learns the occupancy schedule over aperiod of time and identifies one or more occupancy patterns and setsthe target completion time based on the one or more learned occupancypatterns.

In some embodiments and according to a first aspect, or according to aninvention disclosed herein, the mobile robot 200 for “coverage” missions(sweeping, vacuuming, mopping, spreading fluid, and/or any combinationof these) uses a suitable technique or techniques, in some embodiments,or in an invention disclosed herein, “Simultaneous Localization andMapping” (SLAM) techniques, to generate a map of the surface being, forexample, vacuumed. There are various techniques, and various maps thatmay be generated. Maps may be topological, Cartesian, polar,representational, probabilistic, or other; and/or may track walls,obstacles, open spaces, fiducials, natural features, “occupancy”, orother map features. In some techniques, many maps, each of some degreeof probable correctness, are recorded.

In some embodiments, or in an invention disclosed herein, theenvironmental sensor data from the robot sensors 270A-J is sent to thehub 110, which in turn forwards the robot sensor information, orinformation derived from the robot sensor information, to the remotemanagement server 150 for computation. The remote management server 150will then send a report or recommendation to the user (e.g., at aterminal 142, 144, 300) based on the computation.

In some embodiments, or in an invention disclosed herein, differenttypes or modes of processing are executed on different components of thesystem. For example, 1) the robot 200 may detect that the TV 36 isturned on and determine that it should be turned off, 2) while the hub110 may assess and process the sensor data from the stationary sensors120, 122, 124 and the robot sensors to determine whether a zone isoccupied, 3) while the remote management server 150 is used to evaluateusage pattern data to generate an energy management strategy. It will beappreciated that, in accordance with embodiments of an inventiondisclosed herein, or in accordance with an invention disclosed herein,other system architectures may be used that distribute processingresponse and reporting duties differently than those described above.

According to some embodiments, or according to an invention disclosedherein, the system 100 will deploy the mobile robot 200 to collectenvironmental data in response to data collected by a stationary sensor120, 122, 124 or in response to instructions from a user (e.g., via aremote terminal 144). For example, when the system 100 is in a securitymode and the hub 110 or remote management server 150 receives data froma stationary sensor 120, 122, 124 indicating the presence of an occupantor opening of a door or window, the system 100 may respond by launchingthe mobile robot 200 to patrol or investigate a selected zone or zonesor the space 20 generally. The robot 200 may send images (e.g., stillphotos or a live video feed) from the camera 270B or other environmentalsensor data to enable the system 100 or user to confirm or better assessthe nature of the intrusion or occupancy.

Turning now to the connectivity of household appliances, in accordancewith FIGS. 5-13, several embodiments of the present invention include,or an invention disclosed herein, includes, a mobile robot 200communicating with an end user terminal 142, 144, 300 via a networkedhub 110, or via a wireless access point 164.

In some embodiments and according to a first aspect, or according to aninvention disclosed herein, a household mobile robot 200 for “coverage”missions (sweeping, vacuuming, mopping, spreading fluid, and/or anycombination of these) uses a suitable technique or techniques, in someembodiments, or in an invention disclosed herein, “SimultaneousLocalization and Mapping” (SLAM) techniques, to generate a map of thesurface being, for example, vacuumed. There are various techniques, andvarious maps that may be generated. Maps may be topological, Cartesian,polar, representational, probabilistic, or other; and/or may trackwalls, obstacles, open spaces, fiducials, natural features, “occupancy”,or other map features. In some techniques, many maps, each of somedegree of probable correctness, are recorded. In common, however:

1) The surface area in which the robot 200 expects to be able tolocalize grows over time (i.e., “the map” gets bigger as the robot 200travels);

2) A relationship between “the map” recorded by the robot 200 and theactual household floorplan (e.g., Zone A, Zone B and Zone C in FIGS. 4,21, 26, and 27) may be generated or modeled and graphically represented,and at some point the map of navigable area (or a subset of it) issubstantially complete;

3) For a coverage robot 200, areas over which the robot 200 has alreadytraveled have been simultaneously covered (usually cleaned or vacuumed),and the covered area may be graphically represented as an irregular areawithin the complete map;

4) A ratio or other comparison between the covered area and the completemap can be calculated as a percentage or other representation of partialcompleteness;

5) Specific physical items, such as a hub or gateway device (e.g., hub110) or a robot dock (dock 140) or wirelessly networked automationdevice 126, 128, 129, may be located within and represented within thecomplete map if the robot 200 or another device hosting the complete mapreceives a localization for such items within the complete map; and

6) Meaningful subdivisions of the complete map may be assigned based onanalysis or user input. For example, a leftmost third of the completemap may be designated as corresponding to a kitchen area, a middlesection as a living room, and so on. These room identities may be storedas sub-areas or sub-divisions, as transition lines from one subdivisionto another, as localized markers within the complete map, or the like.

In the first aspect, the autonomous mobile robot 200 may be providedwith sufficient SLAM capability to build a progressively improving mapat the same time as it covers (e.g., cleans) within this map, as well assufficient connectivity to transmit map data (e.g., entire sets of mapdata, simplified representations of map data, or abstractions of mapdata). For example, this could include: a microprocessor; a set ofsensors collecting and/or calculating range and bearing data fromenvironmental features (including natural landmarks, placed landmarks,and/or walls and obstacles); a map database including at least oneprogressively improving map; a coverage database including datarepresenting the covered area within the progressively improving map;and a wireless transmitter or transceiver.

In order to reach the public internet with its data or representationsand/or abstractions thereof, the microprocessor and/or wirelesstransmitter or transceiver (including those with their own embeddedmicroprocessors) would communicate using IP (Internet Protocol) andsupport conventional addressing and packetizing for the public Internet170.

Any portion of the map database or coverage database may be transmittedto and stored in a location other than the robot 200, e.g., a local hub110 or gateway within the household, a hub, gateway, server or similaron the Internet, or virtualized instances of the same available on theInternet.

In some embodiments according to the first aspect, or according to aninvention disclosed herein, and as illustrated in FIGS. 5 and 6, anapplication executed by a mobile terminal or device 300 (including butnot limited to, for example, a mobile telephone, smart phone or tablet)receives the progressively improving map as well as the covered areawithin the progressively improving map, compares the two, and displays arepresentation of the comparison, such as a completion ratio 305 (e.g.,percent covered or done by the mobile robot 200). The applicationinstantiates and maintains a user interface element 310 for an end user(e.g., the user of the mobile device 300) to activate to elect toexamine the covered area and/or progressively improving map 315 itself.The mobile device 300 may be the local user terminal 142 including atouchscreen HMI, for example.

When the end user activates the user interface element (e.g., theapplication icon on the touchscreen of the mobile device 300), theapplication executes a graphical representation of the progressivelyimproving map and the same is displayed, and within this graphicalrepresentation, a second graphical representation of the covered area isdisplayed. It should be noted that the first graphical representationmay be replaced with an envelope limiting the extent of the secondgraphical representation. Optionally, physical devices or locations(such as the location of a robot dock, or the location of an internetgateway) may be localized by the robot 200 and displayed by theapplication in positions relative to the first graphical representationof the progressively improving map.

According to FIG. 7, in an alternative example, when the user interfaceelement is activated, the application executes a graphicalrepresentation of room identity markers 320 a, 320 b, 320 c within theprogressively improving map coupled with a completion ratio 325 a, 325b, 325 c for subdivisions of the complete or progressively improving map315. That is, each subdivision may have its own completion ratio 325 a,325 b, 325 c, which may be derived, for example, by comparing thecovered area to each subdivision. Optionally, physical devices orlocations (such as the location of a robot dock 140, or the location ofan internet gateway or hub 110) may be localized by the robot 200 anddisplayed by the application in positions corresponding to theirsubdivision.

In accordance with FIGS. 8 and 9, according to a second aspect anautonomous mobile robot 200 is provided with the elements noted above,and also interacting tunable parameters 330 a-330 d within its cleaningstrategy.

For example, a mobile cleaning robot 200 is theoretically able toexecute substantially single-pass coverage (i.e., clean each portion ofsurface area one time and one time only), by following a strategy tocover only area within the progressively improving map 315 that has notalready been covered. Perfect single-pass coverage is challenging withan unknown map. Substantial single-pass coverage would be, for example,where the areas that needed to be reached within the progressivelyimproving map were separated by already-covered patches.

This would seem to be ideal, as single-pass coverage is the fastest wayto complete the room. However, depending upon the efficacy of acleaning, spreading, mopping, vacuuming effector, two-pass coverage, ormulti-pass coverage, may be the best way to clean. Many stubbornparticulates need multiple pass coverage to be adequately cleaned.

Moreover, end users have shown a marked preference for spot cleaning(i.e., cleaning where they can visibly identify a dirt patch themselves,or where dirt is known to be) and also for edge and corner cleaning.Preferences aside, this can also increase overall efficacy, as repeatedcleaning of a known dirty area can improve the average level ofcleanliness, and corners and edges naturally accumulate dirt withordinary traffic in any home.

However, these goals (single-pass or “quick” cleaning, multi-pass or“deep” cleaning, spot cleaning, and edge and corner cleaning) are tosome extent mutually exclusive. If a mobile cleaning robot 200repeatedly addresses a dirty spot, it cannot achieve substantiallysingle-pass cleaning (because the dirty spot has been passed over) andwill take more time to complete the entire room (absent changes incleaning power or speed). If a robot 200 follows the perimeter ofobstacles and walls twice instead of once, similarly, it takes longerthan a single pass.

As such, these goals are correlated with one another. If a robot 200 iscommanded to execute the best possible single-pass coverage as anoverriding goal, it will never do spot coverage or address edges morethan once, and can only begin to perform multiple passes (two, three ormore) once the first pass is complete.

Tunable parameters within a cleaning strategy may include time balance(e.g., spend 80 percent of time in single pass mode, entering spotcovering mode only 20 percent of opportunities); sensitivity (e.g.,enter spot covering mode only when a threshold is crossed, interruptingother modes only upon that threshold event); power output (fasteragitation or higher vacuum airflow); and/or forward speed (the travelingspeed across a floor).

In one implementation, attention among these goals may be balanced bycontrolling one or more parameters to lower as one or more than oneother parameters increase.

For example, if a slider control is provided in a user interface torepresent single pass or quick cleaning goal orientation—for example,0-100 points of orientation—then a linked, simultaneously and optionallyoppositely moving slider may represent multi-pass or deep cleaningorientation. Should the quick cleaning slider 330 a be moved to 100points or percent of attention, such as illustrated in FIG. 8, therobot's 200 cleaning strategy may seek to revisit cleaned areas aslittle as possible (and the coupled multi-pass slider 330 b isautomatically coupled to decrease to 0 or very few points). Note thatthe slider controls in this example reflect a parameter available to therobot's 200 cleaning strategy.

Should the slider 330 a be moved to a 50-50 position (with themulti-pass slider coupled to move there as well), the robot's 200cleaning strategy may seek to prioritize exploring uncertain areas,edges, corners, or map frontiers more, or may concentrate on re-coveringproximate areas (e.g., in a different direction).

Another pair of potentially linked sliders may be spot cleaning 330 dand edge and corner cleaning 330 c. As noted, there are different waysof having two conflicting goals interact. In this case, one way would beto permit the robot 200 to spot clean and/or edge cleanopportunistically (upon sensing either of dirt/spot opportunity withoptical or piezo sensing, or edge opportunity with proximity sensing),but should both opportunities be detected simultaneously, to permit thehigher setting to win more often. This may show a shift in cleaningstrategy at 70 percent versus 30 percent “winning” percentage, forexample. It should be noted that the sliders or coupled parameters canbe set to change interactive principle at along the attention ororientation range. For example, in more skewed or imbalanced settings,e.g., 90 percent versus 10 percent, the robot 200 could begin to ignoreopportunities to, for example, spot clean to pursue more opportunitiesto edge clean.

More than two sliders or tunable parameters may be linked. For example,if all of the quick clean, deep clean, spot clean, and edge cleansliders 330 a-330 d were linked, moving any one of them may move theothers to less emphasis or more emphasis (e.g., in the correspondingdirection of slider and attention parameter). As a specific example, ifa spot cleaning attention parameter were increased, the robot's 200reactive threshold to dirt detection could be lowered (or frequency ofresponse, or other parameter that translates into increasedorientation). In such a case, the robot 200 may be expected torepeatedly cover already covered areas (lowering the quick clean slider330 a and a corresponding parameter), to spend less time on edges andcorners (lowering that slider 330 c and corresponding parameter), and tore-cover more areas (increasing the multiple pass slider 330 b andcorresponding parameter).

The second aspect may include an application executed by a mobile device(including but not limited to a mobile telephone, smart phone or tablet)the receives the current state of the interactive parameters from therobot 200, instantiates user interface controls representative of therelative states (such as slider controls 330 a-330 d), and displays arepresentation of the relative states of the parameters using thosecontrols. The application monitors the user interface elements orcontrols for an end user (e.g., the user of the mobile device 300) toactivate to change a parameter, or a percentage emphasis on a parameter,or the like.

When the end user activates the user interface element, the applicationon the mobile device 300 executes a graphical representation of theprogressively changing parameter, and simultaneously with representingthe change in one parameter, alters one or more other controls todisplay a coupled parameter changing simultaneously with theuser-controlled activity in the active control.

Turning now to FIGS. 10-12, in another embodiment according to a thirdaspect, or according to an invention disclosed herein, an autonomousmobile robot 200 is provided with sufficient timer and schedulingcapability to self-initiate cleaning on a schedule or be commanded toinitiate remotely, as well as sufficient connectivity to communicateschedules and receive commands. In addition, the robot 200 may includeconnectivity to a local access point or hub 110 which includes, or isconnected to, an occupancy sensor. One example of such an Access Point110 is the NEST™ thermostat, which in addition to controlling householdtemperatures is connected to the public Internet 170 and local Internetof Things articles via IEEE 802.11 and 802.14 protocols and hardware andmay address and exchange messages with remote clients and localarticles. In addition, the NEST thermostat includes occupancy sensors(e.g., a passive infrared monitor which can detect passing human bodyheat and movement, a microphone which can detect ambient noise, and/oran ambient light sensor which can detect variations in light aspassers-by obscure it).

In some embodiments, according to the third aspect, or according to aninvention disclosed herein, the system of robot 200 and hub 110 (accesspoint acting as a bridge between household Ethernet or 802.11 networksand the robot 200), for example, may include: a microprocessor; a set ofsensors collecting and/or human occupancy data from environmentalelectromagnetic, acoustic, or other sensing; an occupancy databaseincluding at least one progressively more accurate profile of householdtraffic and/or presence map; a scheduling database including datarepresenting the intended missions compatible with the occupancydatabase; and wireless transmitters or transceivers.

In an example of data collection and communications message flow, thehub 110 may, over the course of a week or longer, survey the localhousehold and identify traffic patterns, with the goal of aligningcleaning schedules of the robot 200 with unoccupied household time(s).The data is analyzed (e.g., anomalies removed, etc.) and stored in anoccupancy database.

The occupancy database may be retained by the hub 110, or communicatedto the mobile robot 200. In general, it is advantageous to keep smalldata sets such as this on the mobile robot 200 itself because wirelesscommunications in the home may be interrupted, noisy, or of varyingstrength throughout a large household.

Any portion of the databases discussed herein may be transmitted to andstored in a location other than the robot 200 (e.g., a local hub 110 orgateway within the household, a hub, gateway, server or similar on theInternet 170, or virtualized instances of the same available on theInternet 170). Most advantageously, the scheduling process worksinteractively with a charging and/or evacuating dock 140, such that therobot 200 may launch on schedule in a fully charged and/or empty(cleaning bin) state.

In another embodiment, or in an invention disclosed herein, an end user,presented with the occupancy opportunities may schedule activity of therobot in different ways, such as the following:

(1) Requesting the system (hub 110, robot 200, or either) toadvantageously schedule household cleaning automatically in the besttimes available;

(2) Selecting times within the presented occupancy, and/or overridingsuggestions from the auto-scheduler;

(3) Adding schedule elements even when the home is occupied, for otherneeds; or

(4) Tuning room to room coverage, to designate rooms or areas forspecific attention on a specific day.

This embodiment, or an invention disclosed herein, may use interactiveuser interface elements in a mobile device application.

As depicted in FIGS. 10 and 11, when the end user activates the userinterface element on a mobile device 300, the application executes agraphical representation of the occupancy database 400 and displays thesame. In a modification within this graphical representation 400, asecond graphical representation of user selected times 405 a-405 ewithin the occupancy database is successively displayed or overlayed.

As depicted in the embodiment of FIG. 12, or in an invention disclosedherein, an end user may wish to be notified when the robot 200, hub 110,or combination of the two intend to launch a cleaning mission, even whenthe schedule has been approved (or the robot 200 is self-launchingaccording to other criteria). This request notification 410 may bepresented to the user on a remote user terminal 144, such as a remotemobile device 300. In some cases, the end user may wish to cancel thelaunch (for example, if the user is in fact at home but has simply beentoo quiet for occupancy sensing to operate).

In other embodiments depicted in FIGS. 13 and 14, or in an inventiondisclosed herein, a user may launch an application via a user interfaceelement on a mobile device 300 to provide calculated information thatmay be of interest to the user, such as the amount of matter collectedby a cleaning robot 200 and/or the location at which the greatest amountof matter was collected. For example, a bin debris sensor maybe used totrack the amount of matter entering the robot collection bin. Using aknown bin volume, the robot 200 may extrapolate the capacity occupied orremaining in the collection bin based on the amount and/or frequency ofmatter passing by the debris sensor. Additionally, in embodiments of therobot 200 having mapping capabilities, or in an invention disclosedherein, the robot 200 may track the rate of debris collection and/or theamount of debris collected at various delineated areas or compartmentswithin a floor plan and identify the room containing the largest amountof collected debris.

With reference to the flowchart of FIG. 20, a computer-implementedmethod according to some embodiments of the present invention, oraccording to an invention disclosed herein, for receiving user commandsfor a remote cleaning robot and sending the user commands to the remotecleaning robot (the remote cleaning robot including a drive motor and acleaning motor) is represented therein. The method includes displaying auser interface including a control area, and within the control area: auser-manipulable launch control group including a plurality of controlelements, the launch control group having a deferred launch controlstate and an immediate launch control state; at least oneuser-manipulable cleaning strategy control element having a primarycleaning strategy control state and an alternative cleaning strategycontrol state; and a physical recall control group including a pluralityof control elements, the physical recall control group having animmediate recall control state and a remote audible locator controlstate (Block 30). User input is then received via the user-manipulablecontrol elements (Block 32). Responsive to the user inputs, a real-timerobot state reflecting a unique combination of control states isdisplayed simultaneously within the same control area (Block 34).Concurrently or thereafter, the remote cleaning robot is commanded toactuate the drive motor and cleaning motor to clean a surface based onthe received input and unique combination of control states (Block 36).

According to further embodiments, or according to an invention disclosedherein, and with reference to FIGS. 15-18, an application is provided ona mobile device 300 (which may be, for example, the local user terminal142 having a touchscreen HMI) to provide additional functionality asdescribed below. FIG. 15 shows an exemplary home screen 500 provided bythe application to enable control and monitoring of the robot 200. Thehome screen 500 includes a control area 501 (the active input area ofthe touchscreen display of the device 300) and therein user manipulablecontrol or interface elements in the form of a cleaning initiator button512, a scheduling button 514, a cleaning strategy toggle button 516(which toggles alternatingly between “QUICK” and “STANDARD” (not shown)status indicators when actuated), a dock recall button 520, a robotlocator button 522, and a drive button 524. The home screen 500 mayfurther display a robot identification 526 (e.g., a name (“Bruce”)assigned to the robot 200 by the user) as well as one or moreoperational messages 528 indicating a status of the robot 200 and/orother data.

When activated, the cleaning initiator button 512 will cause the device300 to command (via wireless signal) the robot 200 to begin a prescribedcleaning protocol.

The cleaning strategy button 516 can be used to select from a pluralityof different available cleaning modes, settings or protocols, examplesof which are discussed in more detail below. In particular, the cleaningstrategy button has a primary cleaning strategy control state (i.e.,“Standard clean” or “Deep clean”) and an alternative cleaning strategycontrol state (i.e., “Quick clean”).

When activated, the scheduling button 514 will initiate a schedulingscreen 502 as shown in FIG. 16. The user can use the control elements502A-F therein to schedule a single cleaning operation/session or aperiodic (e.g., weekly) cleaning operation/session by the robot 200. Acleaning mode (e.g., “Standard” or “Quick”) as described below may beselected for each scheduled cleaning session using the control element502B. A deferred command to begin and execute a configured cleaningoperation or session can be initiated by actuating the “Save” button502F.

The cleaning initiator button 512, the scheduling button 514, and thescheduling control elements 502A-F collectively form a user-manipulativelaunch control group. This launch control group has an immediate launchstate (i.e., when the cleaning initiator button 512 is actuated) and adeferred launch control state (i.e., when the “Save” button 502F isselected).

The dock recall button 520 and the robot locator button 522 collectivelyform a physical recall control group. The physical recall group has animmediate recall control state (by actuating the dock recall button 520)and a remote audible locator control state (by actuating the robotlocator button 522). When activated, the dock recall button 520 willcause the device 300 to command the robot 200 to return to the dock 140.

When activated, the robot locator button 522 will cause the device 300to command the robot 200 to emit an audible signal (e.g., beeping froman audio transducer or speaker 274B; FIG. 3). The user can use theaudible signal to locate the robot 200.

In use, the application on the device 300 receives user input via theabove-described user manipuable control elements. Responsive to the userinputs, the application displays simultaneously on the device 300 withinthe control area 501 a real-time robot state reflecting the uniquecombination of the control states. The application further commands therobot 200 to actuate the drive system 230 (including a motive drivemotor) and the cleaning system 242 (including a cleaning motor) of therobot 200 to clean a surface based on the received input and uniquecombination of control states.

When actuated, the drive button 524 will initiate a robot motive controlscreen (not shown) including user manipulable control elements (e.g., avirtual joystick or control pad) that the user can use to remotelycontrol the movement of the robot 200 about the living space.

In some instances, the robot 200 may become immobilized or stuck duringa cleaning session. According to some embodiments, or according to aninvention disclosed herein, the robot 200 is enabled to recognize itsimmobilized condition and will send an alert signal to the user via theapplication on the device 300 (e.g., using SMS or email). Theapplication will display an alert screen 504 as shown in FIG. 17 on thedevice 300. Additionally or alternatively, the alert screen 504 may begenerated in response to the user actuating the cleaning initiatorbutton 512 or the dock recall button 520 when the robot 200 isimmobilized or otherwise unable to execute the commanded operation. Thealert screen 504 includes one or more control elements manipulable bythe user to perform a remedial, subsequent action. In some embodiments,or in an invention disclosed herein, a beacon control element such as a“Beep” button 504A can be actuated to command the robot 200 emit anaudible signal from the audio transducer 274B. In some embodiments, orin an invention disclosed herein, an escape maneuver control element504B can be actuated to command the robot 200 to execute one or moreprescribed maneuvers to attempt to disengage or become unstuck.

As discussed above, the application may enable the user to selectbetween two or more cleaning strategies or modes (e.g., using the togglebutton 516). According to some embodiments, or according to an inventiondisclosed herein, the user can (using the toggle button 516) instructthe remote robot 200 to perform either: 1) a lower cumulative energycleaning strategy (also referred to herein as “quick clean”) with thecontrol element 516 in a first or primary cleaning strategy controlstate; or a higher cumulative energy cleaning strategy (also referred toherein as “standard” or “deep clean”) with the control element 516 in asecond or alternative cleaning strategy control state. As used herein,“cleaning energy” may be deployed in various ways; for example, therobot can either go longer or repeat passes, or can increase motorpower, or can otherwise do “more” (standard) or “less” (quick) cleaning.Typically, the quick cleaning options (e.g., as described below) arecumulatively less work. For example, in some embodiments, or in aninvention disclosed herein, the robot 200 passes substantially only asingle pass over each portion of the covered area in the quick cleanstrategy or control state, and passes substantially two passes (e.g.,the passes crisscross) over each portion of the covered area in the deepclean strategy or control state.

According to some embodiments, or according to an invention disclosedherein, the lower cumulative energy cleaning strategy (“quick clean”)includes one or more of the following:

a. The robot 200 travels a deterministic, systematic or planned singlepass coverage or travel pattern or path. In some embodiments, or in aninvention disclosed herein, the travel pattern follows a boustrophedonpath.

b. The robot 200 travels at faster forward speed (as compared to thedeep cleaning control state) across the surface.

c. The robot 200 concentrates its cleaning in open areas.

d. The cleaning coverage of the robot 200 is configured to cover themost distance from the dock 140.

e. The robot 200 travels at faster forward speed (as compared to thedeep cleaning control state) across the surface combined with a highervacuum power.

f. The robot 200 does not use a discovery process, but instead navigatesusing a stored map.

g. The robot 200 travels primarily only along rows in one direction(i.e., pattern is parallel rows with little or no crossing of rows).

h. The robot 200 does not detect the density of the dirt lifted from thesurface being cleaned.

i. The robot 200 does detect the density of the dirt lifted from thesurface being cleaned (e.g., using the dirt sensor 242C) and controlsits path, speed or power in view thereof, but the dirt detectionthreshold required to trigger such modification to its cleaningoperation is set at a higher threshold (as compared to the deep cleaningcontrol state).

j. The robot 200 does not evacuate its onboard debris bin 242B duringthe cleaning session (i.e., except at the end of the cleaning session).

k. The robot 200 spends less time cleaning around time consuming clutter(e.g., table, chairs) (as compared to the deep cleaning control state).

l. The robot 200 cleans high traffic areas first.

m. The robot 200 avoids cleaning under anything invisible to visitors(e.g., under beds, chairs and couches).

u. The robot 200 concentrates its cleaning in a designated area.

According to some embodiments, or according to an invention disclosedherein, the higher cumulative energy cleaning strategy (“standard clean”or “deep clean”) includes one or more of the following:

a. The robot 200 travels a deterministic, systematic or planned multiplepass (two or more) coverage or travel pattern or path. In someembodiments, or in an invention disclosed herein, the travel patternfollows a crisscross path.

b. The robot 200 travels at slower forward speed (as compared to thequick cleaning control state) across the surface.

c. The robot 200 concentrates its cleaning, at least in part, on edgesand corners of the living space.

d. The cleaning coverage of the robot 200 is configured to cover thearea within a full perimeter circle about the dock 140.

e. The cleaning coverage of the robot 200 is configured to cover thearea within a full perimeter circle about the dock 140 twice.

f. The robot 200 concentrates its cleaning in the same area it startedin.

g. The robot 200 travels at a slower forward speed (as compared to thequick cleaning control state) across the surface combined with a highervacuum power.

h. The robot 200 does uses more discovery (as compared to the quickcleaning control state; e.g., the robot 200 probes edges and cornersmore).

i. The robot 200 travels along rows in intersecting directions (e.g., acrisscross pattern).

j. The robot 200 detects the density of the dirt lifted from the surfacebeing cleaned (e.g., using the dirt sensor 242C) and controls its path,speed or power in view thereof.

k. The robot 200 detects the density of the dirt lifted from the surfacebeing cleaned and controls its path, speed or power in view thereof, andthe dirt detection threshold required to trigger such modification toits cleaning operation is set at a lower threshold (as compared to thequick cleaning control state).

l. The robot 200 evacuates its onboard debris bin 242A during thecleaning session to increase vacuum power.

m. The robot 200 executes a two or more stage cleaning pattern includinga systematic (one or more passes) cleaning pattern and a random and edgediffusion pattern.

n. The robot 200 executes a multi-stage cleaning pattern includingalternating systematic and random patterns.

o. The robot 200 detects the density of the dirt lifted from the surfacebeing cleaned and cleans more if more dirt is detected.

p. The robot 200 cleans hallways more than once.

q. The robot 200 cleans using a scrubbing action.

r. The robot 200 cleans until its battery runs out (parking on thefloor) or until the battery level is very low (and the robot 200 thenreturns to the dock substantially depleted of battery charge). In thiscase, the robot 200 may execute a commanded cleaning pattern and thenassume an end cleaning mode until the battery charge level issufficiently low. The end cleaning mode may include, e.g., perimetercleaning, random pattern cleaning, or cleaning concentrated onprescribed or detected high dirt areas.

s. The robot 200 spends more time cleaning around time consuming clutter(e.g., table, chairs) (as compared to the quick cleaning control state).

t. The robot 200 spends more time in high traffic areas (as compared tothe quick cleaning control state).

u. The robot 200 concentrates its cleaning in a designated area.

v. The robot 200 spends more time on area rugs (as compared to the quickcleaning control state).

w. The robot 200 spends more time on area rug perimeters and edges (ascompared to the quick cleaning control state).

x. The robot 200 seeks to clean under furniture for completeness (e.g.,under beds, chairs and couches).

y. The robot 200 detects (e.g., using the dirt sensor 242C) thecharacter or attributes of the dirt lifted from the surface beingcleaned and controls its path, speed or power in view thereof. Forexample, the robot 200 provides less deep cleaning responsive todetection of fuzzy or fluffy dirt, and more deep cleaning responsive todetection of particulate or sandy dirt.

According to some embodiments, or according to an invention disclosedherein, the robot 200, in a given cleaning session, executes a lowercumulative energy cleaning strategy (“quick clean”) in some areas of thecoverage area and executes a higher cumulative energy cleaning strategy(“deep clean”) in other areas of the coverage area. According to someembodiments or according to an invention disclosed herein, thismulti-mode cleaning strategy includes combinations and permutations ofone or more of the following:

a. The robot 200 sets the cleaning strategy for each area or regionbased on selected or prescribed focus criteria. The focus criteria mayinclude the density or character of dirt collected by the robot 200 inthe area.

b. The user, using the application on the device 300, sets the cleaningstrategy based on selected or prescribed focus criteria.

c. The user, using the application on the device 300, sets the cleaningstrategy for selected subregions or subsections of the area to becleaned (e.g., different zones such as Zone A, Zone B and Zone C). Withreference to FIG. 18, the application may provide an interface screen506 including a graphical representation or map 506A of the area to becleaned and cleaning strategy control elements (cleaning mode buttons506B, 506C). The user can then use the cleaning mode buttons 506B, 506Cto select the desired cleaning strategy and then select a region to becleaned in this manner (e.g., by tracing around a selected area,touching the interior of a designated region 506D-F, or selecting adesignated region from a list or the like). The map 506A and designatedregions 506D-F may be generated from the map data discussed above andthe robot 200 may conduct the cleaning operation with reference to themap and localization with respect thereto.

d. The robot 200 may set the cleaning level based on the floor type itdetects (e.g., quick cleaning of hard surface and deep cleaning ofcarpet).

e. The robot 200 may identify area rugs and execute a deeper cleaningstrategy (e.g., more time) on them.

f. The robot 200 may associate bump or other proximity events withdetected dirt ingestion events and, in response thereto, execute deepercleaning. These combined conditions indicate the presence of edges.

In some embodiments, or in an invention disclosed herein, the robot 200is provided with an onboard, user actuatable cleaning mode selectionswitch 274C (e.g., a button) that can be used to switch the robot 200between the quick and deep/standard cleaning modes of operation. Therobot 200 may include one or more lights 274A or other indicators toindicate its cleaning mode status (i.e., quick clean or deep clean). Therobot 200 may emit an audible signal or signals (using the audiotransducer 274B) to indicate its cleaning mode status (e.g., a quickbeep for quick clean mode and a long beep for deep clean mode).

According to some embodiments, or according to an invention disclosedherein, the robot 200 or the application on the device 300 is configuredto estimate the remaining time required for the robot 200 to completeits cleaning operation and to report the same to the user. In someembodiments, or in an invention disclosed herein, the robot 200 or theapplication can estimate and report the estimated time required for eachcleaning mode in the alternative.

In some embodiments, or in an invention disclosed herein, the user canset (using the application on the device 300, for example) the timeavailable and the area to be cleaned, and the robot 300 or applicationcan determine the appropriate or preferred cleaning mode(s) (quick,deep, or multi-mode) based on these criteria. In some embodiments, or inan invention disclosed herein, the robot 300 or application optimizesthe user's original input settings, and the user can then decide whetherto adopt the recommendation or proceed with the original settings. Insome embodiments, or in an invention disclosed herein, the recommendednew settings are indicated by reconfiguring the control elements on theuser interface as discussed above, or new settings learned by the mobilerobot 200 collecting and processing occupancy schedule.

Some of the determinations discussed above may utilize data derived fromsensors that monitor dirt accumulation or extraction from the surface.Examples of such sensors may include instantaneous sensors such aspiezoelectric or optical dirt detectors 242C integrated with the robot200. Also, as discussed above, some determinations may utilize thedetected fullness level of the debris bin 242A as detected by the binlevel sensor 242B.

The system may further be configured to provide operational messages tothe user based on conditions sensed by the robot 200 and/or datacollected or derived by the application (e.g., messages 528 and 506C inFIGS. 15 and 17). The operational messages may include robot statusmessages and/or inquiry messages. For example, the system may display onthe device 300 “You should do a deep clean soon; quick shows that theamount of dirt is higher than average. Would you like to schedule a deepclean? When? You are not normally at home Tuesdays at 11—how abouttomorrow at 11?”

In some embodiments, or in an invention disclosed herein, theapplication on the device 300 enables the user to input designated hightraffic areas for corresponding cleaning by the robot 200. In someembodiments, or in an invention disclosed herein, the robot 200 isconfigured to discover or detect and identify high traffic areasautomatically and programmatically.

In some embodiments, or in an invention disclosed herein, theapplication on the device 300 enables the user to select a cleaningpattern or patterns (e.g., spirals, back and forth, crosswise, orscrubbing) the user believes or has determined are preferable in someregard (e.g., better, quicker, or deeper).

The remote user terminals as disclosed herein (e.g., terminals 142 and300) may be communication terminals configured to communicate over awireless interface, and may be referred to as “wireless communicationterminals” or “wireless terminals.” Examples of wireless terminalsinclude, but are not limited to, a cellular telephone, personal dataassistant (PDA), pager, and/or a computer that is configured tocommunicate data over a wireless communication interface that caninclude a cellular telephone interface, a Bluetooth interface, awireless local area network interface (e.g., 802.11), another RFcommunication interface, and/or an optical/infra-red communicationinterface. In some embodiments, or in an invention disclosed herein, theremote user terminals 142, 300 are mobile terminals that are portable.In some embodiments, or in an invention disclosed herein, the remoteuser terminals 142, 300 are handheld mobile terminals, meaning that theouter dimensions of the mobile terminal are adapted and suitable for useby a typical operator using one hand. According to some embodiments, oraccording to an invention disclosed herein, the total volume of thehandheld mobile terminal is less than about 200 cc and, according tosome embodiments, or according to an invention disclosed herein, thetotal volume of the handheld mobile terminal is less than about 100 cc.

FIG. 19 is a schematic illustration of an exemplary user terminal thatmay be used as the user terminal 142 or 300 as discussed herein. Theterminal 300 includes a human-machine interface (HMI) 370, acommunication module, and a circuit or data processing system includinga processor 380 and memory 382. The circuits and/or data processingsystems may be incorporated in a digital signal processor. The processor380 communicates with the HMI 370 and memory 382 via an address/data bus380A. The processor 380 can be any commercially available or custommicroprocessor. The memory 382 is representative of the overallhierarchy of memory devices containing the software and data used toimplement the functionality of the data processing system. The memory382 can include, but is not limited to, the following types of devices:cache, ROM, PROM, EPROM, EEPROM, flash memory, SRAM, and DRAM.

The memory 382 may include several categories of software and data usedin the data processing system: the operating system 384; applications(including the robot control and monitoring application 386); and theinput/output (I/O) device drivers. The application 386 includes mappingdata 386A (e.g., corresponding to the coverage map and/or representingthe positions of objects or boundaries in the living space),configuration data 386B (e.g., corresponding to the settings andconfigurations of the application 386 on the terminal 300 and the robot200), a user interface (UI) module 386C and a robot control module 386D.The UI module 386C includes logic for generating the control elementsand other displayed components on the display 374 and for receivinginputs from the user via the HMI 370 (e.g., via the touchscreen 372).The robot control module 386D includes logic for processing the userinstructions and issuing commands to the robot 200 and receivingmessages from the robot via a wireless communication module 376.

The display 374 may be any suitable display screen assembly. Forexample, the display screen 374 may be an active matrix organic lightemitting diode display (AMOLED) or liquid crystal display (LCD) with orwithout auxiliary lighting (e.g., a lighting panel).

The HMI 370 may include, in addition to or in place of the touchscreen372, any other suitable input device(s) including, for example, a touchactivated or touch sensitive device, a joystick, a keyboard/keypad, adial, a directional key or keys, and/or a pointing device (such as amouse, trackball, touch pad, etc.).

The wireless communication module 376 may be configured to communicatedata over one or more wireless interfaces as discussed herein to therobot transmitter 252, the hub wireless communication module 112, orother desired terminal. The communication module 32 can include a directpoint-to-point connection module, a WLAN module, and/or a cellularcommunication module. A direct point-to-point connection module mayinclude a direct RF communication module or a direct IR communicationmodule. With a WLAN module, the wireless terminal 300 can communicatethrough a WLAN (e.g., a router) using a suitable communication protocol.

In some embodiments, or in an invention disclosed herein, the wirelessterminal 300 is a mobile radiotelephone forming a part of aradiotelephone communication system.

As will be appreciated by those of skill in the art, otherconfigurations may also be utilized while still benefiting from theteachings of the present technology. For example, one or more of themodules may be incorporated into the operating system, the I/O devicedrivers or other such logical division of the data processing system.Thus, the present technology should not be construed as limited to theconfiguration of FIG. 19, which is intended to encompass anyconfiguration capable of carrying out the operations described herein.

As will be appreciated by one skilled in the art, aspects of the presentdisclosure may be illustrated and described herein in any of a number ofpatentable classes or context including any new and useful process,machine, manufacture, or composition of matter, or any new and usefulimprovement thereof. Accordingly, aspects of the present disclosure maybe implemented entirely hardware, entirely software (including firmware,resident software, micro-code, etc.) or combining software and hardwareimplementation that may all generally be referred to herein as a“circuit,” “module,” “component,” or “system.” Furthermore, aspects ofthe present disclosure may take the form of a computer program productembodied in one or more computer readable media having computer readableprogram code embodied thereon.

Any combination of one or more non-transitory computer readable mediamay be utilized. Non-transitory computer readable media comprises allcomputer readable media, with the exception of transitory, propagatingsignals. A computer readable storage medium may be, for example, but notlimited to, an electronic, magnetic, optical, electromagnetic, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer readable storage medium would include the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), an appropriate optical fiber with a repeater, aportable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET,Python or the like, conventional procedural programming languages, suchas the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby andGroovy, or other programming languages. The program code may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider) or in a cloud computing environment or offered as aservice such as a Software as a Service (SaaS).

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(systems) and computer program products according to embodiments of thedisclosure, or according to an invention disclosed herein. It will beunderstood that each block of the flowchart illustrations and/or blockdiagrams, and combinations of blocks in the flowchart illustrationsand/or block diagrams, can be implemented by computer programinstructions. These computer program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable instruction execution apparatus, create amechanism for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that when executed can direct a computer, otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions when stored in thecomputer readable medium produce an article of manufacture includinginstructions which when executed, cause a computer to implement thefunction/act specified in the flowchart and/or block diagram block orblocks. The computer program instructions may also be loaded onto acomputer, other programmable instruction execution apparatus, or otherdevices to cause a series of operational steps to be performed on thecomputer, other programmable apparatuses or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousaspects of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The foregoing is illustrative of the present invention and is not to beconstrued as limiting thereof. Although a few exemplary embodiments ofthis invention have been described, those skilled in the art willreadily appreciate that many modifications are possible in the exemplaryembodiments without materially departing from the novel teachings andadvantages of this invention. Accordingly, all such modifications areintended to be included within the scope of this invention, Therefore,it is to be understood that the foregoing is illustrative of the presentinvention and is not to be construed as limited to the specificembodiments disclosed, or in an invention disclosed herein, and thatmodifications to the disclosed embodiments, as well as otherembodiments, are intended to be included within the scope of aninvention disclosed herein.

That which is claimed is:
 1. A mobile robot, comprising: amicroprocessor connected to a memory and a wireless network circuit, forexecuting routines stored in the memory and commands generated by theroutines and received via the wireless network circuit; driven wheelscommandable by the microprocessor to reach a multiplicity of accessibletwo dimensional locations within a household; an environmental sensorreadable by the microprocessor, the microprocessor executing a pluralityof routines including: a first routine which commands the driven wheelsto move the robot about the household, a second routine which takessensor readings at a plurality of the accessible two dimensionallocations within the household, a third routine which, based on thesensor readings throughout the household, sends data to a network entityhaving a dedicated environmental sensor resulting in the activation of amotorized actuator on the network entity to perform mechanical work inthe household, even when the dedicated environmental sensor readingalone does not indicate that the motorized actuator should be activated.2. The mobile robot of claim 1, wherein the sensor readings taken at theplurality of accessible two dimensional locations within the householdare environmental sensor readings and the environmental sensor is an airquality sensor, and wherein the network entity is an air purifier. 3.The mobile robot of claim 1, wherein the sensor readings taken at theplurality of accessible two dimensional locations within the householdare environmental sensor readings and the environmental sensor is ahumidity sensor, and wherein the network entity is a humidifier.
 4. Themobile robot of claim 1, wherein the sensor readings taken at theplurality of accessible two dimensional locations within the householdare environmental sensor readings and the environmental sensor is atemperature sensor, and wherein the network entity is a thermostat. 5.The mobile robot of claim 1, wherein the sensor readings taken at theplurality of two dimensional locations within the household populate atwo dimensional map of sensor readings within the household, the twodimensional map displayed on a human machine interface device incommunication with the mobile robot over the network.
 6. The mobilerobot of claim 5, wherein the sensor readings taken at the plurality ofaccessible two dimensional locations within the household areenvironmental sensor readings.
 7. The mobile robot of claim 1, whereinthe sensor readings taken at the plurality of two dimensional locationswithin the household populate a three dimensional map of sensor readingswithin the household, the three dimensional map displayed on a humanmachine interface device in communication with the mobile robot over thenetwork.
 8. The mobile robot of claim 7, wherein the sensor readingstaken at the plurality of accessible two dimensional locations withinthe household are environmental sensor readings.
 9. The mobile robot ofclaim 1, wherein: the environmental sensor is readable by themicroprocessor to take current readings of an environmental quality; themobile robot includes a localizing circuit, with at least one localizingsensor that observes sensor readings from objects within the household,for determining a current pose of the mobile robot with reference to theobserved objects; the microprocessor further executes: a surface mappingroutine that accumulates observations from the localizing circuit torecord a two dimensional array representing possible locations of themobile robot; an environmental mapping routine that takes andaccumulates readings from the environmental sensor at a plurality of theaccessible two dimensional locations within the household and causes thememory to store a three dimensional array based on the readings and onthe two dimensional array representing possible locations of the mobilerobot; and a location-responsive environmental control routine whichcorrelates the three dimensional array to locations of a plurality ofhome environmental control nodes, each home environmental control nodehaving a dedicated environmental sensor and a control channel to actuatea motorized actuator to perform mechanical work within the household,and based on a proximity of at least one control node to anenvironmental mapping location represented in the three dimensionalarray, sends data to cause the at least one environmental control nodeto perform mechanical work in the household.
 10. The mobile robot ofclaim 9 wherein the localization sensor includes a camera.
 11. Themobile robot of claim 1 wherein the microprocessor commands the mobilerobot to: move about the household to execute a primary mission; andsimultaneously collect environmental sensor readings as a secondarymission.
 12. The mobile robot of claim 11 wherein the microprocessorregisters the collected environmental sensor readings to a map of thehousehold.
 13. The mobile robot of claim 11 wherein the primary missionis a cleaning mission wherein the mobile robot cleans the household. 14.The mobile robot of claim 13 wherein the mobile robot includes a vacuumcleaning mechanism and the primary mission is vacuuming the household.15. The mobile robot of claim 1 wherein the sensor readings are takenwithin and mapped to prescribed zones within the household.
 16. Themobile robot of claim 1 wherein: the mobile robot is in communicationwith a hub in communication with a network; and the mobile robot isoperative to wirelessly transmit robot sensor data corresponding to thesensor readings to the hub.
 17. The mobile robot of claim 1 wherein themobile robot is in communication with a remote user terminal over thenetwork, the remote user terminal including an interactive applicationfor controlling or monitoring the state of the mobile robot.
 18. Themobile robot of claim 1 wherein the third routine, based on one or moresensor readings throughout the household falling above or below anacceptable threshold level or range, sends data to the network resultingin the activation of the motorized actuator even if the sensor readingfrom the dedicated environmental sensor falls within the acceptablethreshold level or range.